SYSTEM ATLASЗагрузка материала

Дублирующий запрос для снижения хвостовой задержки

Request Hedging

Request hedging запускает дополнительную копию медленного запроса и использует первый успешный ответ.

Простыми словами

Например, чтение профиля после p95 задержки отправляется второй реплике; первый ответ побеждает, второй отменяется. Поэтому заранее определяют границы ожидания и поведение при отказе - иначе один медленный компонент начинает удерживать ресурсы и распространять проблему дальше.

Пример от @Vibeclakr

Пример при разработке

Чтение профиля после p95 задержки отправляется второй реплике; первый ответ побеждает, второй отменяется.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Формальное определение

Request hedging запускает дополнительную копию медленного запроса и использует первый успешный ответ.

Механизм действия

После порога клиент отправляет запрос другому экземпляру, отменяет проигравшую копию и учитывает обе в бюджете нагрузки.

Пример в работе

Нерабочий подход

Внедрить «Дублирующий запрос для снижения хвостовой задержки» как формальную настройку, не проверив сценарий отказа и ограничение: Увеличивает нагрузку и опасен для неидемпотентных операций; порог должен быть основан на измерениях.

Системный подход

Применять «Дублирующий запрос для снижения хвостовой задержки» только для заявленной цели, проверять поведение на реальном контуре и сохранять наблюдаемый критерий результата.

Ограничения

Увеличивает нагрузку и опасен для неидемпотентных операций; порог должен быть основан на измерениях.

Источник

Envoy Project, “HTTP Request Hedging”, 2026.

Первоисточник