Что такое Circuit Breaker паттерн?
Answer from AI
sobes.tech AI
Circuit Breaker — это паттерн проектирования, используемый для повышения устойчивости распределённых систем и предотвращения каскадных сбоев при взаимодействии с ненадёжными внешними сервисами.
Идея в том, что если внешний сервис начинает часто выдавать ошибки или не отвечает, Circuit Breaker "размыкает цепь" и временно блокирует дальнейшие запросы к этому сервису, возвращая заранее определённый ответ или ошибку. Это позволяет системе быстро реагировать на проблемы и не тратить ресурсы на повторные неудачные попытки.
Основные состояния Circuit Breaker:
- Closed (закрыт): запросы проходят как обычно.
- Open (открыт): запросы блокируются, возвращается ошибка.
- Half-Open (полуоткрыт): после таймаута пробуется отправить запрос, чтобы проверить, восстановился ли сервис.
Пример использования: при вызове внешнего API, если за последние N запросов процент ошибок превышает порог, Circuit Breaker открывается и блокирует дальнейшие вызовы на некоторое время.