¿Que es Circuit Breaker? | Jose Luis Bugarin

El interruptor automático (circuit breaker) es un interruptor de funcionamiento automático que se apaga solo cuando hay una sobrecarga o un cortocircuito (de esos de los sistemas eléctricos :p). Además del fusible eléctrico, el propósito del interruptor automático falla rápidamente y protege las instalaciones eléctricas.

En el caso de un microservicio/aplicación, protege la integridad general de la aplicación (todo esto viene de la electricidad).

Aquí una llave eléctrica para recordar 🙂

El circuit breaker para aplicaciones es muy simple, por que solo mantiene 2 estados:

  • prendido (on): Libera llamadas a las dependencias
  • apagado (off): Falla la llamada de inmediato y realizar una acción configurada previamente (el clásico mensaje lo sentimos)

En la práctica, en lugar de que los microservicios/aplicaciones accedan directamente a la dependencia externa, el componente (circuit breaker )se colocará en el medio de la llamada. En caso de cualquier falla de acuerdo con parámetros predeterminados (por ejm tiempos de respuesta, # de peticiones, etc), el componente interrumpe la comunicación con la dependencia que está fallando.

Existen algunos frameworks que pueden ayudarte a implementar/construir circuit breaker. El + usado, utilizado y creado por Netflix es Hystrix. Hystrix se desarrollo en java y hasta donde he revisado también soporta Go.

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *