Saltar al contenido

Circuit breaker

Un circuit breaker interrumpe llamadas a un servicio con fallos y después permite llamadas de prueba limitadas.

APIs y contratos de datos

Un circuit breaker protege una aplicación frente a llamadas continuas a un servicio dependiente que falla. Evalúa determinados errores y decide si pueden pasar nuevas llamadas. Tras una espera definida, unas llamadas de prueba limitadas pueden comprobar la recuperación del servicio.

Tres estados con permisos distintos

En closed, las llamadas pasan normalmente. En open, se rechazan sin enviarse al servicio afectado. half-open solo permite llamadas de prueba limitadas; sus resultados determinan si se vuelven a bloquear las llamadas o se retoma el funcionamiento normal.

En un portal de clientes ficticio falla el servicio de informes PDF. El circuit breaker abierto impide nuevas llamadas a ese servicio y el portal muestra su indisponibilidad temporal. El mecanismo no guarda por sí solo una solicitud de informe en una cola ni repara el servicio.

El equipo define tipos de error, ventana de evaluación, umbral, espera y comportamiento alternativo. Un timeout limita la duración de una llamada; un reintento inicia otro intento. El circuit breaker decide si se envía la llamada. Estos mecanismos pueden trabajar juntos, pero necesitan reglas coordinadas.

Fuentes