Используйте изоляцию ресурсов по провайдерам: отдельные лимиты параллелизма и очередей, timeout, circuit breaker и ограниченные retries. Медленная зависимость не должна занимать все workers и соединения.
Как изолировать медленных/нестабильных провайдеров чтобы они не влияли на остальных?
Используйте изоляцию ресурсов по провайдерам: отдельные лимиты параллелизма и очередей, timeout, circuit breaker и ограниченные retries. Медленная зависимость не должна занимать все workers и соединения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Используйте изоляцию ресурсов по провайдерам: отдельные лимиты параллелизма и очередей, timeout, circuit breaker и ограниченные retries. Медленная зависимость не должна занимать все workers и соединения.
Общий deadline распределяют между попытками, оставляя время на fallback и ответ клиенту. Для каждого провайдера собирают latency, ошибки, насыщение лимита и долю отказов. Если разрешён резервный маршрут, учитывают повторные побочные эффекты и стоимость. Изоляция нужна не только в thread pool, но и в connection pool, памяти очередей и квотах внешних API.