Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I microservizi sono uno stile architetturale diffuso per la creazione di applicazioni cloud che rimangono resilienti, scalabili in modo efficiente, distribuiscono in modo indipendente ed evolvono rapidamente. Per offrire valore reale, i microservizi richiedono un approccio diverso alla progettazione e allo sviluppo di applicazioni.
Questo set di articoli illustra come creare un'architettura di microservizi in Azure. Include le indicazioni seguenti:
Opzioni di calcolo per i microservizi: valutare i servizi di calcolo di Azure per i microservizi, tra cui il servizio Azure Kubernetes, le app contenitore di Azure e Funzioni di Azure. Informazioni su quando usare ogni servizio in base ai requisiti per la scalabilità, il sovraccarico di gestione e i modelli di distribuzione.
Comunicazione tra servizi: progettare modelli di comunicazione efficaci tra microservizi usando approcci sincroni e asincroni. Informazioni sulle API REST, i modelli di messaggistica, le architetture guidate dagli eventi e le tecnologie mesh dei servizi per la comunicazione affidabile da servizio a servizio.
Progettazione API: creare API ben progettate che supportano i principi dell'architettura dei microservizi. Informazioni sulle strategie di controllo delle versioni delle API, sui modelli di gestione degli errori e su come progettare API che promuovono l'accoppiamento libero e l'evoluzione indipendente del servizio.
Gateway API: implementare gateway API per gestire problemi trasversali, ad esempio l'autenticazione, la limitazione della frequenza e il routing delle richieste. Comprendere in che modo i gateway semplificano le interazioni client e forniscono l'imposizione centralizzata dei criteri nell'ecosistema di microservizi.
Considerazioni relative ai dati: risolvere i problemi di gestione dei dati nelle architetture di microservizi, inclusi i modelli di coerenza dei dati, le transazioni distribuite e la scelta degli archivi dati appropriati. Informazioni sulle strategie per mantenere l'integrità dei dati attraverso i limiti del servizio.
Orchestrazione dei contenitori: distribuire e gestire microservizi in contenitori su larga scala usando agenti di orchestrazione dei contenitori. Informazioni su come le piattaforme come Kubernetes automatizzano la distribuzione, il ridimensionamento, il bilanciamento del carico e la gestione dell'integrità per mantenere lo stato desiderato del sistema negli ambienti di produzione.
Modelli di progettazione: applicare modelli di progettazione collaudati specifici per i microservizi, incluso il modello Ambassador per trasferire il carico delle attività di connettività, il modello Bulkhead per l'isolamento delle risorse e il modello Strangler Fig per il refactoring incrementale delle applicazioni.
Prerequisiti
Prima di leggere questi articoli, iniziare con le risorse seguenti:
Introduzione alle architetture di microservizi: comprendere i vantaggi e le sfide dei microservizi e quando usare questo stile di architettura.
Usare l'analisi del dominio per modellare i microservizi: informazioni su un approccio basato su dominio per la modellazione di microservizi.
Architettura di esempio
Scaricare un file di Visio di questa architettura.
Scenario
Fabrikam, Inc. crea un servizio di consegna tramite drone. L'azienda gestisce una flotta di aerei da drone. Le aziende possono registrarsi per usare il servizio e gli utenti possono richiedere un drone per prelevare merci da consegnare. Quando un cliente pianifica un ritiro, un sistema back-end assegna un drone e invia una notifica all'utente di un tempo di consegna stimato. Durante la consegna, il cliente può tenere traccia della posizione del drone, incluso un tempo stimato di arrivo (ETA) costantemente aggiornato.
Questa soluzione funziona bene per le industrie aerospaziali e aeree.
Questo scenario comporta un dominio piuttosto complesso. Alcuni problemi aziendali includono la pianificazione di droni, i pacchetti di rilevamento, la gestione degli account utente e l'archiviazione e l'analisi dei dati cronologici. Fabrikam vuole anche raggiungere il mercato e quindi iterare rapidamente per aggiungere nuove funzionalità e capacità. L'applicazione deve operare su scala cloud con un obiettivo di livello di servizio elevato (SLO). Fabrikam prevede anche requisiti molto diversi per l'archiviazione dei dati e l'esecuzione di query in diverse parti del sistema. In base alle considerazioni, Fabrikam sceglie un'architettura di microservizi per l'applicazione di distribuzione tramite drone.
Annotazioni
Per altre informazioni su come scegliere tra un'architettura di microservizi e altri stili di architettura, vedere la guida all'architettura delle applicazioni di Azure.
Questa architettura usa Kubernetes con AKS. Ma molte delle decisioni e delle sfide dell'architettura di alto livello si applicano a qualsiasi agente di orchestrazione dei contenitori.