Как исправить оркестратор с двумя независимыми внешними вызовами, чтобы уложиться в бизнес-лимит 10 секунд при длительностях сервисов 10 и 2 секунды?

Независимые вызовы нужно выполнять параллельно: время станет близко к максимуму из 10 и 2 секунд. Но сервис, отвечающий за 10 секунд, уже исчерпывает весь бюджет оркестратора.

Короткий ответ

Что ответить на собеседовании

Независимые вызовы нужно выполнять параллельно: время станет близко к максимуму из 10 и 2 секунд. Но сервис, отвечающий за 10 секунд, уже исчерпывает весь бюджет оркестратора.

Подробный разбор

Ответ с пояснениями

Независимые вызовы нужно выполнять параллельно: время станет близко к максимуму из 10 и 2 секунд. Но сервис, отвечающий за 10 секунд, уже исчерпывает весь бюджет оркестратора.

Задайте общий deadline, выделите часть бюджета на сеть, очередь и сборку ответа и запускайте оба вызова одновременно. По истечении бюджета отменяйте ожидание и возвращайте предусмотренную ошибку либо допустимый частичный результат. Параллельность убирает последовательные 12 секунд, но не гарантирует укладывание в строгие 10: медленный сервис придётся ускорить, ограничить его timeout или согласовать fallback. Отмена ожидания не гарантирует отмену внешнего побочного эффекта.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее