Un servicio del que dependes falla y da timeouts. ¿Qué patrón evita que tu servicio lo siga machacando y falle lentamente?
Opciones
- Circuit breaker (Opción correcta)
- Singleton
- Saga
- Sharding
Respuesta
Circuit breaker
Por qué
Como un interruptor eléctrico: tras varios fallos seguidos, el circuito se 'abre' y las llamadas a ese servicio fallan de inmediato (o devuelven un fallback) en lugar de esperar a los timeouts.
Esto protege tus propios threads y da tiempo al servicio roto para recuperarse. Tras una pausa, el breaker deja pasar una petición de prueba ('half-open'); si funciona, se cierra otra vez.
Combínalo con timeouts y reintentos con exponential backoff.
Recuerda
Circuit breaker = dejar de llamar un rato a un servicio que falla.