Hystrix de fusión de Springcloud
Hystrix es una biblioteca de latencia y tolerancia a fallas proporcionada por Netflix de código abierto para aislar el acceso a sistemas remotos, servicios o bibliotecas de terceros para evitar fallas en cascada, mejorando así la disponibilidad del sistema y la tolerancia a fallas.
Encapsule la solicitud: utilice HystrixCommand (o HystrixObservableCommand) para encapsular la solicitud como un HystrixCommand (o HystrixCommand).
Encapsulación de solicitudes: HystrixCommand (o HystrixObservableCommand) se utiliza para encapsular la lógica de llamada de las dependencias y cada comando se ejecuta en un hilo separado. Esto utiliza el patrón de comando en modo de diseño.
Mecanismo de disparo: cuando la tasa de error de un servicio excede un cierto umbral, Hystrix puede disparar automática o manualmente y dejar de solicitar el servicio por un período de tiempo.
Aislamiento de recursos: Hystrix mantiene un pequeño grupo de subprocesos (o registro) para cada dependencia. Si el grupo de subprocesos está lleno, las solicitudes a la dependencia se rechazarán inmediatamente en lugar de ponerse en cola, lo que acelerará la resolución de problemas.
Monitoreo: Hystrix monitorea métricas operativas y cambios de configuración, como éxitos, fallas, tiempos de espera y solicitudes rechazadas casi en tiempo real.
Mecanismo de reserva: la lógica de reserva se ejecutará cuando la solicitud falle, se agote el tiempo de espera, se rechace o se abra el disyuntor. El desarrollador puede proporcionar una lógica alternativa, como volver a un valor predeterminado.
Autorreparación: El disyuntor entra automáticamente en estado "medio abierto" después de estar encendido durante un período de tiempo.