Modèles de résilienceResiliency patterns

La résilience est la capacité d’un système à traiter de manière appropriée les défaillances et à récupérer après ces dernières.Resiliency is the ability of a system to gracefully handle and recover from failures. La nature de l’hébergement cloud, où les applications sont souvent multi-locataires, utilisent les services de plateforme partagée, sont en concurrence pour la bande passante et les ressources, communiquent via Internet et s’exécutent sur du matériel de base, signifie qu’il existe une probabilité accrue que des erreurs temporaires et des erreurs plus permanentes se produisent.The nature of cloud hosting, where applications are often multi-tenant, use shared platform services, compete for resources and bandwidth, communicate over the Internet, and run on commodity hardware means there is an increased likelihood that both transient and more permanent faults will arise. Pouvoir détecter les pannes et récupérer rapidement et efficacement est nécessaire afin de maintenir la résilience.Detecting failures, and recovering quickly and efficiently, is necessary to maintain resiliency.

SchémaPattern RésuméSummary
CloisonnementBulkhead Isolez les éléments d’une application sous forme de pools afin qu’en cas de défaillance de l’un d’eux, les autres continuent à fonctionner.Isolate elements of an application into pools so that if one fails, the others will continue to function.
DisjoncteurCircuit Breaker Gérer les erreurs dont la résolution peut prendre un certain temps lors de la connexion à une ressource ou à un service distant.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Transaction de compensationCompensating Transaction Annulez le travail effectué par une série d’étapes qui définissent ensemble une opération cohérente.Undo the work performed by a series of steps, which together define an eventually consistent operation.
Surveillance de point de terminaison d’intégritéHealth Endpoint Monitoring Implémentez des contrôles fonctionnels dans une application à laquelle des outils externes peuvent accéder par le biais de points de terminaison exposés à intervalles réguliers.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Élection du responsableLeader Election Coordonnez les actions effectuées par un ensemble d’instances de tâche de collaboration dans une application distribuée en élisant l’instance responsable qui sera chargée de gérer les autres instances.Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances.
Nivellement de la charge basé sur une file d’attenteQueue-Based Load Leveling Utilisez une file d’attente qui agit comme mémoire tampon entre une tâche et un service qu’elle appelle, afin d’atténuer les surcharges intermittentes.Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
Nouvelle tentativeRetry Permettez à une application de gérer les défaillances temporaires anticipées quand elle tente de se connecter à un service ou à une ressource réseau en réessayant d’exécuter en toute transparence une opération qui a échoué précédemment.Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that's previously failed.
Superviseur de l’agent du planificateurScheduler Agent Supervisor Coordonnez un ensemble d’actions sur un ensemble distribué de services et d’autres ressources à distance.Coordinate a set of actions across a distributed set of services and other remote resources.