Circuit Breaker: три состояния?

Ответ

CLOSED: всё работает, запросы проходят. При N ошибок (или % ошибок > threshold) → OPEN. OPEN: все запросы блокируются, возвращается fallback. Через waitDuration → HALF_OPEN. HALF_OPEN: пропускает N тестовых запросов; при успехе → CLOSED, при ошибке → OPEN.

Разбор: Корректный цикл: CLOSED (запросы проходят, считаются ошибки; при превышении порога → OPEN) → OPEN (все запросы сразу отклоняются с fallback; через waitDuration → HALF_OPEN) → HALF_OPEN (пропускает пробные запросы: при успехе → CLOSED, при ошибке → OPEN). Ловушки: первый вариант меняет местами поведение CLOSED и OPEN; второй вводит несуществующие состояния и «отключение навсегда»; третий подменяет имена состояний и логику отклонения частичным дросселированием.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться