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

Full Jitter

Full Jitter

Случайность в задержках предотвращает синхронные волны повторов.

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

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

Пример от @Vibeclakr

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

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

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

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

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

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

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

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

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

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

Ограничения

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

Источник

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

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