Что такое Circuit Breaker
Паттерн защиты от каскадных сбоев
Circuit Breaker — Паттерн защиты от каскадных сбоев
Circuit Breaker — архитектурный паттерн в микросервисах, предотвращающий каскадные сбои при недоступности зависимого сервиса.
Состояния Circuit Breaker
| Состояние | Описание | Поведение | |-----------|----------|-----------| | Closed | Нормальная работа | Запросы проходят | | Open | Сервис недоступен | Запросы блокируются | | Half-Open | Проверка | Пропускает тестовые запросы |
Параметры настройки
- Failure Threshold — количество ошибок для открытия (5-10)
- Success Threshold — успешные запросы для закрытия (3-5)
- Timeout — время ожидания ответа (1-5 сек)
- Reset Timeout — время до перехода в Half-Open (30-60 сек)
Пример конфигурации
circuit_breaker:
failure_threshold: 5
success_threshold: 3
timeout: 3000ms
reset_timeout: 30s
Библиотеки и инструменты
- Resilience4j — Java
- Polly — .NET
- Hystrix — Java (deprecated)
- Istio — Service Mesh