advanced
Circuit breaker
Временно прекращайте calls к failing dependency, чтобы resources recover, users получали fast failure и probes проверяли restoration.
Circuit breaker отслеживает failure rate к dependency. Closed — вызовы идут; open — fail fast без нагрузки на больной сервис; half-open — пробные вызовы для recovery. Сохраняет ресурсы caller и предотвращает cascading failure.
Компромисс: fast failure и защита против stale open state, блокирующего легитимный traffic после recovery.
На интервью: state transitions и thresholds; breaker с fallback и bulkhead.
Типовые ошибки: breaker на каждый call без shared state; слишком чувствительные thresholds; нет half-open probes.
Чеклист:
- Failure rate и sliding window.
- Fail fast с ясными errors в open.
- Probe recovery в half-open.
- Метрики breaker на dashboards.