Hystrix (fusible)

Cuando el proveedor de servicios responde muy lentamente, se ve obligado a esperar la solicitud del consumidor al proveedor hasta que el proveedor responde o se agota el tiempo de espera. En escenarios de alta carga, si no se hace nada, estos problemas pueden provocar el agotamiento de los recursos de los consumidores del servicio e incluso el colapso de todo el sistema (efecto avalancha). Hystrix puede prevenir eficazmente que ocurran tales problemas. Hystrix es una biblioteca tolerante a fallas y retrasos de código abierto de Netflix, que se utiliza para aislar el acceso a sistemas remotos, servicios o bibliotecas de terceros, evitar fallas en cascada y mejorar la disponibilidad del sistema y la tolerancia a fallas. Hystrix logra principalmente latencia y tolerancia a fallas a través de los siguientes puntos:

(a) Solicitud de ajuste: utilice HystrixCommand (o HystrixObservableCommand) para ajustar la lógica de llamada de las dependencias, y cada comando se ejecuta en un subproceso independiente. Esto utiliza el "patrón de comando" de Design Patterns.

(b) Mecanismo de activación: cuando la tasa de error de un servicio supera un cierto umbral, Hystrix puede activarse automática o manualmente y dejar de solicitar el servicio durante un período de tiempo.

(c) Aislamiento de recursos: Hystrix mantiene un pequeño grupo de subprocesos (o semáforo) para cada dependencia. Si el grupo de subprocesos está lleno, la solicitud enviada a la dependencia se rechazará inmediatamente en lugar de esperar en la cola, lo que acelerará la determinación del error.

(d) Monitoreo: Hystrix puede monitorear los indicadores en ejecución y los cambios de configuración casi en tiempo real, como el éxito, la falla, el tiempo de espera y las solicitudes rechazadas.

(e) Mecanismo de respaldo: ejecuta la lógica de respaldo cuando falla una solicitud, se agota el tiempo, se rechaza o cuando se abre un disyuntor. El desarrollador puede especificar la lógica alternativa.

Last updated