2014-10-13 16 views
21

Come creare un'applicazione orientata ai micro servizi nel mondo .NET? Esistono piattaforme in cui possiamo scrivere app orientate ai micro servizi nel mondo .NET? Come immaginare un'architettura che includa servizi Micro, archivio eventi e alcuni database NoSQL? Grazie.Micro servizi e .NET

+1

Toooo tardi ma incase se aiuta qualcuno. Prova [Microsevices with Containers by Microsoft] (https://blogs.msdn.microsoft.com/cesardelatorre/2017/05/10/free-ebookguide-on-net-microservices-architecture-for-taintainer-net-applications/) . Hanno creato un'app di esempio con microservizi e front-end MVC/Angular2/Xamarin e un libro per guidarti. – Alpesh

risposta

11

Microservices è più un approccio architetturale che di un quadro o di un insieme di librerie. Ma nel mondo .Net è possibile creare processi indipendenti per i servizi Web utilizzando OWIN (Open Web Interface for .NET).

È possibile vedere un esempio per l'attuazione di un autonomo servizio di hosting web (che non si richiede IIS) in:

http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api

Con questo, è possibile implementare i vostri microservices come i servizi self-hosting in uno o più macchine. Il tipo di database o fonte di eventi dipende dalla tua applicazione.

Quindi è possibile creare un API Resto interrogato dall'applicazione, utilizzato come punto di accesso centrale, un modello di facciata, ogni richiesta verrà convertita in uno dei servizi minion-microservizi.

+1

L'API REST centrale come quella che hai menzionato non introduce un punto centrale di errore?(Questa è l'ultima parte di Microservices che non riesco a capire, come vengono chiamati?) –

+2

@CameronWilby Sì, potrebbe essere un punto centrale di errore se non si dispone di ridondanza. Ma è possibile impostare più indirizzi IP nel server DNS puntando a diverse istanze del server che gestiscono il REST API. È possibile impostare una specie di round robin o bilanciamento del carico. Utilizzare le migliori pratiche di Internet è qualcosa che devi applicare alla tua app di microservizio per renderla più solida se è necessaria. –

+0

Ci sono problemi di sicurezza nell'usare API contro qualcosa come RabbitMQ (che altre persone suggeriscono)? – codeMonkey

14

Seguire this link per una guida passo-passo alla configurazione di un semplice framework Microservice utilizzando .NET framework, ASP.NET e RabbitMQ.

Il tutorial inizia con i concetti principali, implementa un'applicazione funzionante e ridimensiona l'applicazione in termini di dimensioni e complessità, affrontando i problemi tipici di Microservice durante ogni fase.

8

Microsoft ha rilasciato Service Fabric che offre una piattaforma per Microservices.

È un'offerta di Azure ma sarà disponibile anche in sede con Windows Server 2016.

È possibile installare Service Fabric su una macchina di sviluppo con VS2015 e provarlo utilizzando SDK.

+0

https://github.com/daishisystems/Daishi.AMQP –

3

Dal momento che il protocollo di scelta quando si lavora con i microservizi è HTTP, raccomanderei .NET Web API per il livello API. Poiché i microservizi rispettano i 4 tenant di SOA, è necessario assicurarsi che ogni servizio disponga di una propria memoria dati e che ogni "servizio" possa essere implementato indipendentemente. Direi che l'aspetto più importante quando si imposta un'architettura è legato ai contratti API, perché ogni servizio può avere la propria implementazione.

API Web .NET + NServiceBusdo fornisce una buona base per un'architettura basata su microservizi.

Problemi correlati