dev-tools
Словарь ↗Предохранитель (Circuit Breaker)
Предохранитель (circuit breaker) — это паттерн устойчивости, который не даёт вашему сервису снова и снова вызывать зависимость, которая уже отказала. Как и электрическое устройство, в честь которого он назван, у него три состояния: замкнутое (вызовы проходят как обычно), разомкнутое (после слишком большого числа сбоев вызовы мгновенно отклоняются, даже не пытаясь выполниться) и полуразомкнутое (после паузы пропускается тонкая струйка запросов, чтобы проверить, восстановилась ли зависимость). Смысл — быстро отказать: вместо того чтобы тысячи запросов копились на мёртвой базе данных, исчерпывая потоки и пулы соединений и замедляя всё приложение, предохранитель срабатывает, и вы возвращаете быструю ошибку или закешированный запасной ответ. Это не даёт одной барахлящей зависимости каскадно перерасти в полный отказ. Для создателей SaaS, интегрирующих сторонние API (платежи, почту, провайдера LLM), предохранитель — незаменимая защитная «сантехника». Он работает вместе с таймаутами, повторами с экспоненциальной задержкой и «переборками» (bulkhead); сервисные сетки и библиотеки вроде resilience4j часто предоставляют его из коробки.
Похожие термины