Circuit Breaker
Circuit Breaker — автоматический выключатель
Суть в одном предложении
Circuit Breaker защищает систему от каскадных отказов при сбоях внешних зависимостей.
Краткое определение
Circuit Breaker — паттерн отказоустойчивости, который временно блокирует обращения к нестабильному сервису.
Оригинал и перевод
- Язык: английский
- Оригинал: Circuit Breaker
- Буквальный перевод: автоматический выключатель
Синонимы и варианты написания
- Service breaker
- Fault breaker
Происхождение
Паттерн заимствован из электротехники и адаптирован для распределённых систем и микросервисов.
Где используется
- Микросервисы
- Внешние API
- Интеграционные слои
- High-load backend
Когда это важно
Критично при нестабильных внешних сервисах, чтобы один сбой не «положил» всю систему.
Подробное объяснение
Circuit Breaker имеет состояния:
- Closed — запросы проходят;
- Open — запросы блокируются;
- Half-open — пробные запросы для проверки восстановления.
Это снижает нагрузку и ускоряет восстановление системы.
Аналоги и связанные термины
- Retry
- Timeout
- Bulkhead
- Fault tolerance
Пример использования
«Внешний API падает — circuit breaker размыкается и возвращает fallback.»
Мини-FAQ
- Можно ли без circuit breaker? Ответ: Да, но риск каскадных отказов выше.
- Это замена ретраям? Ответ: Нет, чаще используется вместе с ними.
Смотри также
- Retry
- Fallback