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 только увеличит нагрузку и задержку.