Нет: circuit breaker реагирует на ошибки или медленные вызовы и временно прекращает обращения. Лимит запросов в единицу времени задаёт rate limiter, а параллельность ограничивает bulkhead.
То есть circuit breaker поддерживал обещанный TPS сервиса, ограничивая число запросов?
Нет: circuit breaker реагирует на ошибки или медленные вызовы и временно прекращает обращения. Лимит запросов в единицу времени задаёт rate limiter, а параллельность ограничивает bulkhead.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нет: circuit breaker реагирует на ошибки или медленные вызовы и временно прекращает обращения. Лимит запросов в единицу времени задаёт rate limiter, а параллельность ограничивает bulkhead.
Эти механизмы дополняют друг друга. Rate limiter удерживает допустимый входящий темп, bulkhead защищает ресурсы от зависших операций, breaker уменьшает давление на неисправную зависимость. Ни один сам по себе не гарантирует обещанный TPS успешных ответов: нужна достаточная мощность и соблюдение SLO. Если breaker был частью решения, нельзя приписывать ему весь эффект ограничения нагрузки.