Вопрос проверяет понимание архитектурных и бизнес-ограничений, которые мешают или запрещают параллельное выполнение внешних вызовов.
Внешние запросы выполняются последовательно, когда между ними есть логическая зависимость. Иногда следующий запрос требует результат предыдущего. Также ограничения могут накладываться внешним API, бизнес-логикой или требованиями консистентности. Параллельность может нарушить порядок операций или превысить лимиты. Поэтому последовательность часто является осознанным решением, а не техническим ограничением.
Последовательное выполнение запросов не всегда является признаком плохой производительности — часто это следствие требований системы.
Перед перечислением важно зафиксировать: параллельность возможна только при независимости операций.
Логическая зависимость
второй запрос требует id или статус из первого
построение цепочки шагов
Бизнес-ограничения
операции должны выполняться строго по порядку
важна согласованность состояний
Транзакционная модель
откат возможен только при пошаговом выполнении
Ограничения внешнего API
rate limits
запрет конкурентных запросов
Побочные эффекты
изменение состояния во внешней системе
риск гонок и неконсистентности
Упрощение обработки ошибок
проще локализовать сбой
понятнее логика компенсации
order_id = create_order()
status = confirm_order(order_id)
Здесь параллельность невозможна из-за зависимости данных.
Производительность vs корректность
Простота логики vs скорость
Надёжность vs агрессивный параллелизм
Последовательные внешние запросы часто являются следствием бизнес-логики и контрактов, а не недостатков реализации. Параллелизация возможна только там, где нет зависимостей и побочных эффектов.