Présentation
Imaginez que vous êtes développeur de logiciels pour un revendeur en ligne nommé eShop. Le détaillant utilise une architecture basée sur des microservices native Cloud, et utilise .NET pour sa vitrine en ligne. La solution comprend une API NET appelée service de produit. Le service de magasin effectue des appels à l’API des produits back-end pour obtenir des détails sur les produits à vendre.
Ce module est axé sur la résilience, qui est la capacité d’une application ou d’un service à gérer les problèmes. La résilience aide à améliorer la tolérance aux pannes de votre application de façon à avoir l’impact le plus faible possible sur l’utilisateur. Les approches de résilience suivantes sont explorées :
- Utilisation d’une approche basée sur le code
- Utilisation d’une approche basée sur l’infrastructure
Vous allez modifier l’application pour inclure des stratégies de gestion de la résilience basée sur le code dans un microservice. Vous allez également reconfigurer votre déploiement du service Azure Kubernetes (AKS) pour implémenter une solution basée sur une infrastructure.
Vous utilisez votre propre abonnement Azure pour déployer les ressources de ce module. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Important
Pour éviter des frais inutiles dans votre abonnement Azure, veillez à supprimer vos ressources Azure quand vous en avez terminé avec ce module.
Conteneur de développement
Ce module inclut des fichiers de configuration qui définissent un conteneur de développement ou conteneur dev. L’utilisation du conteneur de développement garantit un environnement standardisé préconfiguré avec les outils requis.
Le conteneur de développement peut s’exécuter dans l’un des deux environnements. Avant de commencer, suivez les étapes de l’un des liens suivants pour configurer votre environnement, notamment l’installation de Docker et des extensions Visual Studio Code nécessaires.
- Visual Studio Code et un environnement Docker pris en charge sur votre ordinateur local.
- GitHub Codespaces (des frais peuvent s’appliquer).
Objectifs d’apprentissage
Dans ce module, vous allez :
- Comprendre les concepts fondamentaux de la résilience.
- Observer le comportement d’un microservice qui n’a aucune stratégie de résilience.
- Implémenter le code de gestion des défaillances pour les requêtes HTTP dans un microservice.
- Déployer une solution de résilience basée sur l’infrastructure sur un cluster AKS.
Prérequis
- Connaissance du développement C# et .NET au niveau débutant.
- Connaissance des concepts du service RESTful.
- Connaissance conceptuelle des conteneurs et d’AKS au niveau intermédiaire.
- Savoir exécuter des conteneurs de développement GitHub Codespaces ou dans Visual Studio Code.