Patrones de resistenciaResiliency patterns

La resistencia es la capacidad de un sistema para manejar los errores y recuperarse de ellos satisfactoriamente.Resiliency is the ability of a system to gracefully handle and recover from failures. La naturaleza del hospedaje en la nube, donde las aplicaciones a menudo son multiinquilino, usan servicios de plataforma compartidos, compiten por los recursos y el ancho de banda, y se ejecutan en hardware estándar, implica que hay una mayor probabilidad de que se produzcan errores transitorios o 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. La detección de errores y una recuperación de ellos que sea rápida y eficaz, son necesarias para mantener la resistencia.Detecting failures, and recovering quickly and efficiently, is necessary to maintain resiliency.

PatrónPattern ResumenSummary
BulkheadBulkhead Aísle los elementos de una aplicación en grupos para que, si se produce un error en uno, los demás sigan funcionando.Isolate elements of an application into pools so that if one fails, the others will continue to function.
Circuit BreakerCircuit Breaker Controla los errores que pueden tardar una cantidad variable de tiempo en solucionarse durante la conexión a un recurso o servicio remoto.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Compensating TransactionCompensating Transaction Deshace el trabajo realizado mediante una serie de pasos, que conjuntamente definen una operación definitivamente coherente.Undo the work performed by a series of steps, which together define an eventually consistent operation.
Health Endpoint MonitoringHealth Endpoint Monitoring Implementa comprobaciones funcionales en una aplicación a la que pueden acceder herramientas externas a través de los puntos de conexión expuestos en intervalos regulares.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Leader ElectionLeader Election Coordina las acciones realizadas por una colección de instancias de tareas de colaboración de una aplicación distribuida mediante la elección de una instancia como líder que asume la responsabilidad de administrar las demás instancias.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.
Queue-Based Load LevelingQueue-Based Load Leveling Usa una cola que actúa como búfer entre una tarea y un servicio que invoca para equilibrar 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.
RetryRetry Permite que una aplicación trate los errores temporales anticipados cuando intenta conectarse a un servicio o un recurso de red, mediante el reintento de forma transparente de una operación que anteriormente produjo error.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 Coordina un conjunto de acciones en un conjunto distribuido de servicios y otros recursos remotos.Coordinate a set of actions across a distributed set of services and other remote resources.