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

Retry Budget

Retry Budget

Количество повторов ограничивается долей общего трафика.

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

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

Пример от @Vibeclakr

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

Клиентам разрешено ограниченное число повторов относительно основного трафика. Если зависимость массово падает, повторы не превращаются в отдельную DDoS-волну.

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

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

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

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

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

Решение принимают без учета механизма «Retry Budget», оценивая только ближайший эффект.

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

Перед изменением проверяют, как «Retry Budget» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

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

Источник

Marc Brooker. Timeouts, retries, and backoff with jitter. 2019.

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