SYSTEM ATLASЗагрузка материала

Circuit Breaker

Circuit Breaker Pattern

После серии сбоев вызовы к зависимому сервису временно прекращаются, чтобы не усиливать отказ.

Простыми словами

На практике хороший вариант выглядит так: после порога ошибок цепь размыкается, система использует fallback и позже делает пробный вызов. Поэтому в задаче «Микросервисы» заранее определяют допустимые потери, задержки, повторы и способ восстановления.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Каждый запрос ждет таймаут и немедленно повторяется.

Системный подход

После порога ошибок цепь размыкается, система использует fallback и позже делает пробный вызов.

Ограничения

Автомат защищает от повторных бесполезных вызовов, но требует настройки порогов и восстановления; ложные срабатывания могут сами ухудшить доступность.

Источник

Michael T. Nygard, “Release It! Design and Deploy Production-Ready Software”, 2007; 2018.

Первоисточник