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

Hedged Requests

Hedged Requests

Запускает резервный запрос при аномальной задержке первого.

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

Представьте важное письмо, копию которого отправляют вторым курьером, если первый подозрительно задержался. Hedged requests запускают дополнительный запрос после порога ожидания и используют первый ответ, поэтому уменьшают редкие длинные задержки ценой дополнительной нагрузки.

Пример от @Vibeclakr

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

Поиск отправляет второй запрос к другой реплике только если первый попал в медленный хвост задержки. Первый успешный ответ используется, второй отменяется.

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

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

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

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

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

Применять локальное решение без проверки контекста, ограничений и вторичных последствий.

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

Сначала определить механизм, затем выбрать минимальное изменение и измерить результат.

Ограничения

«Hedged Requests» объясняет только часть происходящего в области «Надежность и SRE». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Jeffrey Dean, Luiz André Barroso. The Tail at Scale. 2013. DOI 10.1145/2408776.2408794.

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