Circuit breaker сокращает ожидание заведомо нездорового сервиса, быстро отклоняя вызовы в открытом состоянии. Сам по себе он не гарантирует лимит времени для первого или ещё разрешённого запроса.
Как Circuit Breaker поможет соблюсти это требование по времени?
Circuit breaker сокращает ожидание заведомо нездорового сервиса, быстро отклоняя вызовы в открытом состоянии. Сам по себе он не гарантирует лимит времени для первого или ещё разрешённого запроса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Circuit breaker сокращает ожидание заведомо нездорового сервиса, быстро отклоняя вызовы в открытом состоянии. Сам по себе он не гарантирует лимит времени для первого или ещё разрешённого запроса.
Для строгого бюджета нужны общий deadline, timeout конкретных вызовов, ограниченные очереди и правила fallback. В закрытом состоянии breaker сначала собирает статистику, поэтому медленный запрос всё ещё возможен. В half-open пропускают ограниченные пробные вызовы. Если внешний сервис стабильно тратит весь бюджет, необходимо ускорение или деградация: circuit breaker не превращает успешный десятисекундный вызов в быстрый.