❗️Circuit Breaker❗️
Сегодня разбираем следующий аспект, который я использовал при решении задачи по system design.
Circuit Breaker — паттерн, который предотвращает каскадные сбои в системе путем автоматического прекращения вызовов к неисправному сервису на определенное время.
Имеет три состояния:
🟢Closed: Запросы проходят к сервису. Штатное поведение системы.
🔴Open: При накоплении ошибок "выключатель" активируется. Запросы к проблемному сервису не отправляются, выбрасывая исключение. Это дает сервису время восстановиться.
🟡Half-Open: Через заданное время "выключатель" пропускает несколько запросов. Если они успешны — цепь снова замыкается (Closed). Если нет — снова размыкается (Open).
Зачем нужен:
✅ Защищает систему от бесконечных таймаутов и зависаний.
✅ Позволяет проблемному сервису восстановиться, не будучи заваленным повторными запросами.
P.S. Немного оговорился на видео, перезаписать не успел, поправил * в субтитрах.
Системный анализ | Дмитрий Помаскин
Post #291
553