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.