Les microservices peuvent aider les organisations à créer des applications plus faciles à mettre à l'échelle, à déployer, à maintenir et à faire évoluer. Cependant, les architectures distribuées introduisent également des défis impliquant la communication, la tolérance aux pannes, la cohérence des données, les limites des services et l'intégration des interfaces utilisateur. Ce cours fournit une introduction structurée pour résoudre ces défis grâce à des modèles de conception de microservices éprouvés.
Vous commencerez par revoir les fondements de l'architecture des microservices et comprendre comment les microservices diffèrent des applications monolithiques traditionnelles. Le cours présente ensuite le rôle des modèles de conception et explique comment ils fournissent des solutions réutilisables aux problèmes courants des systèmes distribués.
Vous explorerez le modèle d'agrégateur, en apprenant comment les réponses de plusieurs services peuvent être combinées en un résultat unifié. Le modèle de passerelle API démontre comment un point d'entrée central peut gérer le routage et simplifier la communication entre les clients et les services backend.
Le cours couvre le modèle de chaîne de responsabilité pour le traitement des requêtes via une séquence de gestionnaires indépendants. Vous examinerez également la messagerie asynchrone, qui prend en charge une communication faiblement couplée et aide les services à fonctionner sans attendre des réponses immédiates.
Une leçon dédiée présente le modèle de disjoncteur, expliquant comment les applications peuvent détecter les défaillances de service, empêcher les demandes infructueuses répétées et réduire le risque de défaillances en cascade. Ces principes de résilience aident les applications distribuées à rester disponibles lorsque des services individuels rencontrent des problèmes.
Vous étudierez ensuite les modèles de données et structurels, y compris le modèle de base de données partagée, le modèle de branche et le modèle de décomposition. Ces leçons expliquent comment les services peuvent être séparés, comment les flux de travail peuvent se diviser entre les composants et comment les applications plus importantes peuvent être divisées en capacités commerciales gérables.
Le cours couvre également le CQRS, qui sépare les responsabilités de commande et de requête, et l'approvisionnement en événements, qui enregistre les changements sous forme de séquence d'événements. Ces modèles peuvent prendre en charge des flux de travail évolutifs, la traçabilité et des modèles de données plus flexibles.
Enfin, vous explorerez le modèle de backend pour frontend, qui fournit des services backend dédiés pour différentes interfaces telles que les applications web et mobiles. Des conseils sur la sélection de modèles appropriés et l'utilisation d'outils de visualisation de code vous aideront à évaluer les choix d'architecture et à comprendre les relations entre les services.
En complétant le cours,
Avantages : Comprendre les principes et les caractéristiques architecturales des microservices.
Identifier et appliquer 11 modèles de conception de microservices courants.
Implémenter les modèles d'agrégateur et de passerelle API pour la communication des services.
Utiliser la chaîne de responsabilité pour organiser les flux de travail de traitement des requêtes.
Appliquer la messagerie asynchrone pour créer des services faiblement couplés.
Améliorer la résilience du système grâce au modèle de disjoncteur.
Utiliser des techniques de décomposition et de branche pour définir les limites des services.
Appliquer le CQRS et l'approvisionnement en événements aux flux de travail de données distribuées.
Concevoir des backends spécialisés en utilisant le modèle de backend pour frontend.
Sélectionner des modèles appropriés en fonction des besoins de scalabilité, de résilience et de maintenabilité.