Зовнішні інтеграції — найчастіше джерело каскадних фейлів
Коли сторонній сервіс “підвисає”, ваша система починає чекати, воркери забиваються, БД росте в чергах — і падає все. Потрібні запобіжники, які обмежують шкоду.
1) Timeouts як правило
- Немає таймауту — є “вічне очікування”.
- Таймаути різні для різних операцій (read vs write).
2) Rate limiting
- Захищає від піків і зловживань.
- Вводь ліміти по IP/user/tenant + окремі ліміти на важкі ендпоїнти.
3) Bulkhead (ізоляція)
Окремі пули воркерів/конекшнів під різні задачі: щоб “проблемна” інтеграція не забрала ресурси у всього продукту.
4) Circuit breaker і деградація
- Якщо dependency падає — швидко “відкриваємо” breaker і повертаємо контрольовану помилку.
- Fallback: кеш, спрощена відповідь або постановка задачі в чергу.
Підсумок
High‑load стає керованим, коли залежності ізольовані і обмежені: timeouts, rate limits, bulkheads і circuit breakers зупиняють каскадні фейли.