Introduzione
Si supponga di essere uno sviluppatore software per un rivenditore online denominato eShop. Il rivenditore usa un'architettura basata su microservizi nativa per il cloud e usa .NET per la vetrina online. La soluzione include un'API NET denominata servizio prodotto. Il servizio store effettua chiamate all'API dei prodotti back-end per ottenere i dettagli dei prodotti da vendere.
Questo modulo è incentrato sulla resilienza, ovvero sulla capacità di un'applicazione o di un servizio di gestire i problemi. La resilienza consente di rendere un'app tollerante agli errori in modo da produrre il minimo impatto possibile sull'utente. Per l'implementazione della resilienza vengono esaminati gli approcci seguenti:
- Approccio basato sul codice
- Approccio basato sull'infrastruttura
Si modificherà l'app in modo da includere in un microservizio alcuni criteri di gestione della resilienza basati sul codice. Si riconfigurerà inoltre la distribuzione del servizio Azure Kubernetes (AKS) per implementare una soluzione basata sull'infrastruttura.
Si userà la propria sottoscrizione di Azure per distribuire le risorse in questo modulo. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Importante
Per evitare addebiti superflui nella sottoscrizione di Azure, assicurarsi di eliminare le risorse di Azure al termine di questo modulo.
Contenitore di sviluppo
Questo modulo include i file di configurazione che definiscono un contenitore di sviluppo. L'uso di un contenitore di sviluppo garantisce un ambiente standardizzato preconfigurato con gli strumenti necessari.
Il contenitore di sviluppo può essere eseguito in uno di due ambienti. Prima di iniziare, seguire la procedura descritta in uno dei collegamenti seguenti per configurare l'ambiente, inclusa l'installazione di Docker e le estensioni di Visual Studio Code necessarie.
- Visual Studio Code e un ambiente Docker supportato nel computer locale.
- GitHub Codespaces (potrebbero essere applicati costi aggiuntivi).
Obiettivi di apprendimento
Contenuto del modulo:
- Comprendere i concetti fondamentali sulla resilienza.
- Osservare il comportamento di un microservizio che non prevede una strategia di resilienza.
- Implementare il codice di gestione degli errori per le richieste HTTP in un microservizio.
- Distribuire una soluzione di resilienza basata sull'infrastruttura in un cluster del servizio Azure Kubernetes.
Prerequisiti
- Familiarità con lo sviluppo C# e .NET a livello principiante.
- Familiarità con i concetti del servizio RESTful.
- Conoscenza concettuale dei contenitori e del servizio Azure Kubernetes a livello intermedio.
- Possibilità di eseguire contenitori di sviluppo GitHub Codespaces o in Visual Studio Code.