Padrões de resiliênciaResiliency patterns

A resiliência é a capacidade de um sistema tratar normalmente e recuperar-se de falhas.Resiliency is the ability of a system to gracefully handle and recover from failures. A natureza da hospedagem em nuvem, em que os aplicativos costumam ser multilocatário, usam serviços de plataforma compartilhada, competem por recursos e largura de banda, comunicam-se pela Internet e são executados no hardware de mercadoria significa que há uma maior probabilidade de que ocorram falhas tanto transitórias quanto mais permanentes.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. A detecção de falhas e a recuperação rápida e eficaz são necessárias para manter a resiliência.Detecting failures, and recovering quickly and efficiently, is necessary to maintain resiliency.

PadrãoPattern ResumoSummary
BulkheadBulkhead Isole os elementos de um aplicativo em pools para que, se um falhar, os outros continuem a funcionar.Isolate elements of an application into pools so that if one fails, the others will continue to function.
Interruptor de CircuitoCircuit Breaker Trate as falhas que possam consumir uma quantidade variável de tempo para serem corrigidas ao se conectar a um serviço ou recurso remoto.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Transação de CompensaçãoCompensating Transaction Desfaça o trabalho executado por uma série de etapas que, juntas, definem uma operação que acabe sendo consistente.Undo the work performed by a series of steps, which together define an eventually consistent operation.
Monitoramento do Ponto de Extremidade de IntegridadeHealth Endpoint Monitoring Implemente verificações funcionais dentro de um aplicativo cujas ferramentas externas podem acessar por meio de pontos de extremidade expostos em intervalos regulares.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Eleição de LíderLeader Election Coordene as ações executadas por uma coleção de instâncias de tarefa de colaboração em um aplicativo distribuído elegendo uma instância como a líder que assume a responsabilidade por gerenciar as demais instâncias.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.
Nivelamento de Carga Baseado em FilaQueue-Based Load Leveling Use uma fila que funcione como um buffer entre uma tarefa e um serviço que ela invoca para simplificar cargas pesadas intermitentes.Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
Tentar NovamenteRetry Permita que um aplicativo trate falhas previstas e temporárias quando tentar se conectar a um serviço ou recurso de rede ao repetir de forma transparente uma operação que falhou anteriormente.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.
Supervisor de Agente do AgendadorScheduler Agent Supervisor Coordene um conjunto de ações em um conjunto distribuído de serviços e outros recursos remotos.Coordinate a set of actions across a distributed set of services and other remote resources.