Présentation
Imaginez que vous êtes développeur de logiciels pour un détaillant en ligne nommé eShop. Le détaillant utilise une architecture basée sur des microservices native du cloud et utilise .NET pour sa vitrine en ligne. La solution inclut une API NET appelée service de produit. Le service store effectue des appels à l’API des produits back-end pour obtenir des détails sur les produits à vendre.
Ce module se concentre sur la résilience, qui est la capacité d’une application ou d’un service à gérer les problèmes. La résilience permet de rendre votre application tolérante aux pannes d’une manière qui a le plus faible impact 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 certaines stratégies de gestion de résilience basées sur le code dans un microservice. Vous allez également reconfigurer votre déploiement Azure Kubernetes Service (AKS) pour implémenter une solution basée sur l’infrastructure.
Vous utilisez votre propre abonnement Azure pour déployer les ressources dans ce module. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Important
Pour éviter les frais inutiles dans votre abonnement Azure, veillez à supprimer vos ressources Azure lorsque vous 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 un conteneur de développement. 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 (les coûts peuvent s’appliquer).
Objectifs d’apprentissage
Dans ce module, vous allez :
- Comprendre les concepts fondamentaux de résilience.
- Observez le comportement d’un microservice qui n’a aucune stratégie de résilience.
- Implémentez le code de gestion des défaillances pour les requêtes HTTP dans un microservice.
- Déployez une solution de résilience basée sur l’infrastructure sur un cluster AKS.
Conditions préalables
- Connaissance du développement C# et .NET au niveau débutant.
- Connaissance des concepts de service RESTful.
- Connaissance conceptuelle des conteneurs et AKS au niveau intermédiaire.
- Possibilité d’exécuter des conteneurs de développement GitHub Codespaces ou dans Visual Studio Code.