Что такое timeout budget?

Middle+
313 просмотров
AFK Offer AI

Timeout budget — это общий бюджет времени на обработку запроса, который распределяется между вложенными вызовами. Если у тебя 5 секунд на ответ, а внутри ты вызываешь 3 сервиса — каждый получает часть бюджета. Первый вызов занял 3 секунды — на оставшиеся два осталось 2 секунды. В Go это делается через context.WithTimeout: создаёшь контекст на 5с и передаёшь его всем вызовам. Каждый вызов проверяет ctx.Done() и останавливается, если бюджет исчерпан. Без timeout budget один медленный вызов съедает всё время.

Следующий вопрос

Что такое goroutine dump?