Задайте общий deadline и передавайте остаток бюджета всем этапам: очередям, БД и сетевым вызовам. Отдельный timeout на каждом шаге не гарантирует общий предел десять секунд.
Как непосредственно обеспечить, чтобы вся бизнес-операция уложилась в 10 секунд?
Задайте общий deadline и передавайте остаток бюджета всем этапам: очередям, БД и сетевым вызовам. Отдельный timeout на каждом шаге не гарантирует общий предел десять секунд.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Задайте общий deadline и передавайте остаток бюджета всем этапам: очередям, БД и сетевым вызовам. Отдельный timeout на каждом шаге не гарантирует общий предел десять секунд.
Заложите время на сериализацию и возврат ответа, ограничьте retries и ожидание пулов. При истечении срока отменяйте поддерживающие отмену операции и фиксируйте неопределённые побочные эффекты для сверки. Нельзя гарантировать успешное завершение любой операции за заданное время: гарантируют ограниченное ожидание и определённый контракт таймаута.