FlexibiliteitspatronenResiliency patterns

Flexibiliteit is het vermogen van een systeem om op een acceptabele manier te herstellen van fouten en te kunnen blijven functioneren.Resiliency is the ability of a system to gracefully handle and recover from failures. De aard van hosting in de cloud, waarbij toepassingen vaak meerdere tenants hebben, gedeelde platformservices gebruiken, concurreren om resources en bandbreedte, communiceren via internet en worden uitgevoerd op doorsnee hardware, betekent dat er een grotere kans is op zowel tijdelijke als meer permanente fouten.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. Fouten opsporen, en hiervan snel en efficiënt herstellen, is vereist voor het behouden van tolerantie.Detecting failures, and recovering quickly and efficiently, is necessary to maintain resiliency.

PatroonPattern SamenvattingSummary
BulkheadBulkhead Elementen van een toepassing in groepen isoleren zodat bij uitval van het ene element het andere element blijft functioneren.Isolate elements of an application into pools so that if one fails, the others will continue to function.
CircuitonderbrekerCircuit Breaker Fouten afhandelen waarvoor een wisselende hoeveelheid tijd nodig is om ze op te lossen bij het verbinden met een externe service of resource.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Compenserende transactieCompensating Transaction Werk ongedaan maken dat is uitgevoerd door een reeks stappen, die samen een uiteindelijk consistent bewerking definiëren.Undo the work performed by a series of steps, which together define an eventually consistent operation.
EindpuntstatusbewakingHealth Endpoint Monitoring Functionele controles implementeren in een toepassing die externe hulpprogramma's met regelmatige intervallen kunnen benaderen via beschikbaar gestelde eindpunten.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Selectie van leiderLeader Election De acties coördineren die worden uitgevoerd door een reeks samenwerkende taakexemplaren in een gedistribueerde toepassing door één exemplaar te selecteren als de leider, die vervolgens de verantwoordelijkheid krijgt voor het beheren van de andere exemplaren.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.
Load Leveling op basis van wachtrijQueue-Based Load Leveling Een wachtrij gebruiken die fungeert als een buffer tussen een taak en een service die wordt aangeroepen om onregelmatige zware belastingen soepel te verwerken.Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
Opnieuw proberenRetry Een toepassing de mogelijkheid bieden voor het afhandelen van verwachte, tijdelijke fouten als er wordt geprobeerd om verbinding te maken met een service of netwerkresource door een bewerking die eerder is mislukt, transparant opnieuw te proberen.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.
Scheduler Agent SupervisorScheduler Agent Supervisor Een set acties coördineren binnen een gedistribueerde set services en andere externe resources.Coordinate a set of actions across a distributed set of services and other remote resources.