El Circuit Breaker es un patrón de diseño de resiliencia inspirado en los interruptores eléctricos. Cuando un servicio downstream empieza a fallar, el circuit breaker 'abre el circuito' y deja de enviar requests, devolviendo inmediatamente un fallback o error. Esto evita que el servicio que llama se quede bloqueado esperando timeouts y propague el fallo.
El patrón tiene tres estados: Closed (normal — requests pasan), Open (cortocircuito — requests fallan inmediatamente), y Half-Open (prueba — se permite un request de test para ver si el servicio se ha recuperado). Hystrix de Netflix popularizó el patrón; hoy Resilience4j (Java), Polly (.NET) y gobreaker (Go) son las implementaciones más usadas.
Para un arquitecto, el circuit breaker es esencial en arquitecturas de microservicios porque sin él, un servicio lento puede consumir todos los threads/conexiones del caller, creando un efecto dominó. La configuración crítica es el umbral de apertura (failure rate), el timeout de half-open, y la estrategia de fallback (cache stale, valor por defecto, o error graceful).