Назад к подготовке

Randomized backoff и jitter

Какой backoff выбрать для retry и зачем добавлять jitter?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Exponential backoff снижает давление на зависимость, jitter рассинхронизирует клиентов, а общий budget ограничивает latency и число попыток.

Полный разбор

Fixed delay прост, но при массовом сбое все клиенты могут повторять запросы синхронно. Exponential backoff увеличивает паузы после повторных ошибок и снижает нагрузку на деградирующую зависимость. Jitter добавляет случайность, чтобы избежать retry storm.

Нужны верхняя граница delay, максимум attempts и общий deadline. Retry уместен для transient ошибок: timeout, 429, 503. Для validation errors или deterministic failures retry только увеличит нагрузку и задержку.