Встречается на собеседованиях • сегодня

Что такое Circuit breaker

Circuit breaker — это паттерн проектирования для повышения отказоустойчивости системы. Он предотвращает каскадные сбои, временно блокируя вызовы к проблемному сервису после серии ошибок.

Основные состояния:

  1. Closed — запросы проходят нормально
  2. Open — все запросы блокируются (после превышения порога ошибок)
  3. Half-Open — пробуем пропустить часть запросов для проверки восстановления

Пример с библиотекой pybreaker:

python
import pybreaker

breaker = pybreaker.CircuitBreaker(
    fail_max=3,  # макс ошибок перед разрывом
    reset_timeout=30  # таймаут перед попыткой восстановления
)

@breaker
def call_external_service():
    # вызов потенциально ненадежного сервиса
    response = requests.get('https://api.example.com')
    response.raise_for_status()
    return response.json()

Применяется для:

  • Внешних API
  • Баз данных
  • Микросервисных взаимодействий

Ключевые преимущества: защита от перегрузки, автоматическое восстановление, снижение нагрузки на проблемный сервис.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы