Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous concevez des architectures de charge de travail, vous devez utiliser des modèles de secteur qui répondent aux défis courants. Les modèles peuvent vous aider à faire des compromis intentionnels au sein des charges de travail et à optimiser les résultats souhaités. Ils peuvent également aider à atténuer les risques qui proviennent de problèmes spécifiques, qui peuvent avoir un impact sur la sécurité, les performances, le coût et les opérations. Si ce n’est pas le cas, ces risques entraîneront éventuellement des problèmes de fiabilité. Ces modèles sont soutenus par l’expérience réelle, sont conçus pour la mise à l’échelle du cloud et les modèles d’exploitation, et sont intrinsèquement indépendants du fournisseur. L’utilisation de modèles connus comme moyen de normaliser la conception de votre charge de travail est un composant de l’excellence opérationnelle.
De nombreux modèles de conception prennent directement en charge un ou plusieurs piliers d’architecture. Les modèles de conception qui prennent en charge le pilier Fiabilité hiérarchisent la disponibilité des charges de travail, la conservation automatique, la récupération, l’intégrité des données et du traitement et l’isolement des dysfonctionnements.
Le tableau suivant récapitule les modèles de conception d’architecture qui prennent en charge les objectifs de fiabilité.
| Motif | Résumé |
|---|---|
| Ambassadeur | Encapsule et gère les communications réseau en déchargeant les tâches croisées liées à la communication réseau. Les services d’assistance résultants lancent la communication pour le compte du client. Ce point de médiation offre la possibilité d’ajouter des modèles de fiabilité à la communication réseau, telles que la nouvelle tentative ou la mise en mémoire tampon. |
| Back-ends pour les serveurs frontaux | Individualise la couche de service d’une charge de travail en créant des services distincts exclusifs à une interface frontale spécifique. En raison de cette séparation, un dysfonctionnement de la couche de service qui prend en charge un client peut ne pas affecter la disponibilité de l’accès d’un autre client. Lorsque vous traitez différents clients différemment, vous pouvez hiérarchiser les efforts de fiabilité en fonction des modèles d’accès clients attendus. |
| Cloison | Introduit une segmentation intentionnelle et complète entre les composants pour isoler le rayon d’explosion des dysfonctionnements. Cette stratégie d’isolation des défaillances tente de contenir des erreurs à la seule cloison qui rencontre le problème, ce qui empêche l’impact sur d’autres cloisonnements. |
| Cache-Aside | Optimise l’accès aux données fréquemment lues en introduisant un cache rempli à la demande. Le cache est ensuite utilisé sur les demandes suivantes pour les mêmes données. La mise en cache crée la réplication des données et, de manière limitée, peut être utilisée pour préserver la disponibilité des données fréquemment consultées si le magasin de données d’origine n’est pas disponible temporairement. En outre, s’il existe un dysfonctionnement dans le cache, la charge de travail peut revenir au magasin de données d’origine. |
| Disjoncteur | Empêche les requêtes continues vers une dépendance défaillante ou indisponible. Ainsi, ce modèle empêche la surcharge d’une dépendance défaillante. Vous pouvez également utiliser ce modèle pour déclencher une dégradation normale dans la charge de travail. Les disjoncteurs sont souvent couplés à la récupération automatique pour fournir à la fois la préservation de soi et l’auto-guérison. |
| Vérification des revendications | Sépare les données du flux de messagerie, ce qui permet de récupérer séparément les données associées à un message. Les bus de messages ne fournissent pas la même fiabilité et la reprise après sinistre qui sont souvent présentes dans les magasins de données dédiés, donc séparer les données du message peut apporter une fiabilité accrue pour les données sous-jacentes. Cette séparation permet également une approche de récupération de file d’attente de messages après un sinistre. |
| Transaction de compensation | Fournit un mécanisme de récupération des défaillances en inversant les effets des actions précédemment appliquées. Ce modèle résout les dysfonctionnements des chemins de charge de travail critiques à l’aide d’actions de compensation, qui peuvent impliquer des processus tels que la restauration directe des modifications de données, la rupture des verrous de transaction ou même l’exécution du comportement du système natif pour inverser l’effet. |
| Consommateurs concurrents | Applique le traitement distribué et simultané pour gérer efficacement les éléments d’une file d’attente. Ce modèle génère une redondance dans le traitement de file d’attente en traitant les consommateurs en tant que réplicas, de sorte qu’une défaillance d’instance n’empêche pas d’autres consommateurs de traiter les messages de file d’attente. |
| Configuration de la charge de travail Edge | Gère la configuration des charges de travail de périphérie distribuées en traitant le cloud comme source de vérité souhaitée tout en garantissant que la configuration reste disponible localement pendant les interruptions de connectivité. Ce modèle améliore la fiabilité en prenant en charge la réconciliation de configuration, la détection de dérive et la restauration pour récupérer à partir de mises à jour partielles ou de configurations non valides. |
| Approvisionnement en événements | Traite le changement d’état comme une série d’événements, en les capturant dans un journal immuable et ajouté uniquement. Vous pouvez utiliser ce modèle lorsqu’un historique fiable des modifications est crucial dans un processus métier complexe. Il facilite également la reconstruction de l’état si vous avez besoin de récupérer des magasins d’état. |
| Marques de déploiement | Isole les locataires ou les unités de charge de travail en tampons indépendants qui fonctionnent sans sort partagé. Un échec dans un tampon est contenu dans ce tampon et n’affecte pas les locataires sur d’autres tampons. Le déploiement d’empreintes entre les régions offre également une base pour la redondance et la planification de la récupération. |
| Identité fédérée | Délègue l’approbation à un fournisseur d’identité externe à la charge de travail pour la gestion des utilisateurs et la fourniture de l’authentification pour votre application. Le déchargement de la gestion des utilisateurs et de l’authentification déplace la fiabilité de ces composants vers le fournisseur d’identité, qui a généralement un contrat SLA élevé. En outre, lors de la récupération d’urgence de la charge de travail, les composants d’authentification n’ont probablement pas besoin d’être traités dans le cadre du plan de récupération de charge de travail. |
| Agrégation de passerelle | Simplifie les interactions client avec votre charge de travail en agrégeant des appels à plusieurs services principaux dans une seule requête. Cette topologie vous permet de déplacer la gestion des erreurs temporaires d’une implémentation distribuée entre les clients et une implémentation centralisée. |
| Délestage de passerelle | Décharge le traitement des demandes sur un appareil de passerelle avant et après le transfert de la requête vers un nœud principal. Décharger cette responsabilité sur une passerelle réduit la complexité du code d’application sur les nœuds principaux. Dans certains cas, le déchargement remplace complètement les fonctionnalités par une fonctionnalité fournie par une plateforme fiable. |
| Routage de passerelle | Route les demandes réseau entrantes vers différents systèmes principaux en fonction des intentions de demande, de la logique métier et de la disponibilité du back-end. Le routage de passerelle vous permet d’acheminer le trafic vers des nœuds sains uniquement dans votre système. |
| Géode | Déploie des systèmes qui fonctionnent dans des modes de disponibilité actif-actif dans plusieurs zones géographiques. Ce modèle utilise la réplication des données pour prendre en charge l’idéal que n’importe quel client puisse se connecter à n’importe quelle instance géographique. Il peut aider votre charge de travail à résister à une ou plusieurs pannes régionales. |
| Surveillance de l'état des points de terminaison | Fournit un moyen de surveiller l’intégrité ou l’état d’un système en exposant un point de terminaison spécifiquement conçu à cet effet. Vous pouvez utiliser ce point de terminaison pour surveiller l'état de santé de votre charge de travail, ainsi que pour les alertes et les tableaux de bord. Vous pouvez également l’utiliser comme signal pour la remédiation auto-réparatrice. |
| Table d’index | Optimise la récupération des données dans les magasins de données distribués en permettant aux clients de rechercher des métadonnées afin que les données puissent être récupérées directement, ce qui évite d’avoir à effectuer des analyses complètes du magasin de données. Étant donné que les clients sont dirigés vers leur fragment, partition ou point de terminaison par le biais d’un processus de recherche, vous pouvez utiliser ce modèle pour faciliter une approche de reprise sur incident pour l’accès aux données. |
| Élection du chef | Établit un leader d’instances d’une application distribuée. Le leader coordonne les responsabilités liées à l’accomplissement d’un objectif. Ce modèle atténue l’effet des dysfonctionnements de nœud en redirigeant de manière fiable le travail. Il assure également le basculement en utilisant des algorithmes de consensus lorsqu'un leader ne fonctionne pas correctement. |
| Canaux et filtres | Décompose le traitement complexe des données en une série d’étapes indépendantes pour obtenir un résultat spécifique. La responsabilité unique de chaque étape permet de se concentrer et d’éviter la distraction du traitement de données mêlées. |
| File d’attente prioritaire | Garantit que les éléments de priorité supérieure sont traités et terminés avant les éléments de priorité inférieure. La séparation des éléments en fonction de la priorité métier vous permet de concentrer les efforts de fiabilité sur le travail le plus critique. |
| Publisher/Abonné | Dissocie les composants d’une architecture en remplaçant la communication directe client-à-service ou client-à-services par communication par le biais d’un répartiteur de messages intermédiaire ou d’un bus d’événements. |
| Équilibrage de charge basé sur la file d'attente | Contrôle le niveau des requêtes entrantes ou des tâches en les mettant en mémoire tampon dans une file d’attente et en laissant le processeur de file d’attente les gérer à un rythme contrôlé. Cette approche peut fournir une résilience contre les pics soudains de demande en découplant l’arrivée des tâches à partir de leur traitement. Il peut également isoler les dysfonctionnements dans le traitement de la file d’attente afin qu’ils n’affectent pas l’entrée. |
| Limitation de taux | Contrôle le taux des requêtes des clients pour réduire les erreurs de limitation et éviter les scénarios de réessai illimité. Cette tactique protège le client en reconnaissant les limitations et les coûts de communication avec un service lorsque le service est conçu pour éviter d’atteindre les limites spécifiées. Elle fonctionne en contrôlant le nombre et/ou la taille des opérations envoyées au service pendant une période spécifique. |
| réessayer | Corrige les défaillances qui peuvent être temporaires ou intermittentes en réessayant certaines opérations, de manière contrôlée. L’atténuation des erreurs temporaires dans un système distribué est une technique clé pour améliorer la résilience d’une charge de travail. |
| Transactions distribuées Saga | Coordonne les transactions longues et potentiellement complexes en décomposant le travail en séquences de transactions plus petites et indépendantes. Chaque transaction doit également avoir des actions de compensation pour inverser les défaillances dans l’exécution et maintenir l’intégrité. Étant donné que les transactions monolithiques sur plusieurs systèmes distribués sont généralement impossibles, ce modèle fournit une cohérence et une fiabilité en implémentant l’atomicité et la compensation. |
| Superviseur de l’agent planificateur | Distribue et redistribue efficacement les tâches sur un système en fonction de facteurs observables dans le système. Ce modèle utilise des métriques d’intégrité pour détecter les défaillances et rediriger les tâches vers un agent sain afin d’atténuer les effets d’un dysfonctionnement. |
| Convoi séquentiel | Gère l’entrée de messagerie simultanée tout en prenant également en charge le traitement dans un ordre défini. Ce modèle peut éliminer les conditions de concurrence difficiles à résoudre, la gestion contentieuse des messages ou d’autres solutions de contournement pour traiter les messages mal ordonnés pouvant entraîner des dysfonctionnements. |
| Sharding | Dirige la charge vers une destination logique spécifique pour gérer la requête spécifique, en activant la colocalisation pour l’optimisation. Étant donné que les données ou le traitement sont isolés de la partition, un dysfonctionnement dans une partition reste isolé à cette partition. |
| Strangler Fig | Fournit une approche permettant de remplacer systématiquement les composants d’un système en cours d’exécution par de nouveaux composants, souvent lors d’une migration ou d’une modernisation du système. L’approche incrémentielle de ce modèle peut aider à atténuer les risques pendant une transition. |
| Limitation | Impose des limites au taux ou au débit des requêtes entrantes à une ressource ou un composant. Vous pouvez concevoir les limites pour empêcher l’épuisement des ressources susceptibles d’entraîner des dysfonctionnements. Vous pouvez également utiliser ce modèle comme mécanisme de contrôle dans un plan de dégradation approprié. |
Étapes suivantes
Passez en revue les modèles de conception d’architecture qui prennent en charge les autres piliers de l’infrastructure Azure Well-Architected :
- Modèles de conception d’architecture qui prennent en charge la sécurité
- Modèles de conception d’architecture qui prennent en charge l’optimisation des coûts
- Modèles de conception d’architecture qui prennent en charge l’excellence opérationnelle
- Modèles de conception d’architecture qui prennent en charge l’efficacité des performances