Выбор ответа Middle Надёжность и наблюдаемость обновлено
Зачем jitter в ретраях
Вопрос
Зачем к экспоненциальной задержке ретраев добавляют случайный разброс (jitter)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Чтобы клиенты после сбоя не повторяли запросы одной волной. После общего сбоя все клиенты получили ошибку одновременно и без jitter повторят одновременно, создавая волны нагрузки как раз на восстанавливающийся сервис.
Варианты ответа
- Чтобы ретраи выполнялись быстрее среднего времени ответа
- Чтобы обойти rate limit, который считает запросы по секундам
- Чтобы клиенты после сбоя не повторяли запросы одной волнойправильный ответ
- Чтобы повторный запрос стал идемпотентным для сервера
Разбор
После общего сбоя все клиенты получили ошибку одновременно и без jitter повторят одновременно, создавая волны нагрузки как раз на восстанавливающийся сервис. Разброс размазывает повторы во времени. Ретраи от этого не быстрее, rate limit не обходится, идемпотентность обеспечивается другими средствами.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.