Padrões de resiliênciaResiliency patterns

Resiliência é a capacidade de um sistema lidar e recuperar de falhas da melhor forma.Resiliency is the ability of a system to gracefully handle and recover from failures. A natureza do alojamento na cloud, onde as aplicações são, muitas vezes, multi-inquilinos, utiliza os serviços de plataforma partilhada, compete para ter recursos e largura de banda, comunica através da Internet, e por ser executado em hardware de comodidade tem uma maior probabilidade de surgirem falhas transitórias e 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. É preciso detetar falhas e recuperar rapidamente e de forma eficiente, 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 uma aplicação em conjuntos, de modo a que se um falhar, os outros continuam a funcionar.Isolate elements of an application into pools so that if one fails, the others will continue to function.
Disjuntor AutomáticoCircuit Breaker Processe falhas que possam demorar um período de tempo a corrigir ao ligar a um serviço ou recurso remoto variável.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Compensação de TransaçãoCompensating Transaction Anule o trabalho realizado por uma série de passos, que em conjunto definem uma operação eventualmente consistente.Undo the work performed by a series of steps, which together define an eventually consistent operation.
Monitorização do Ponto Final do Estado de FuncionamentoHealth Endpoint Monitoring Implemente verificações funcionais numa aplicação que as ferramentas externas podem aceder através de pontos finais expostos em intervalos regulares.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Eleição de CoordenadorLeader Election Coordene as ações executadas por uma coleção de instâncias de tarefa de colaboração numa aplicação distribuída, ao eleger uma instância como a líder que assume a responsabilidade para gerir as outras 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.
Redistribuição de Carga Baseada na FilaQueue-Based Load Leveling Utilize uma fila que age como uma memória intermédia entre uma tarefa e um serviço que este invoca para 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.
RepetirRetry Permita que uma aplicação processe falhas previstas e temporárias quando tentar ligar a um recurso ou serviço 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 SchedulerScheduler Agent Supervisor Coordene um conjunto de ações entre 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.