advanced
Exponential backoff
Распределяйте retries через exponential delay и jitter, чтобы recovering services не получали synchronized retry waves.
Exponential backoff увеличивает задержку между retries (100ms, 200ms, 400ms), давая recovering systems передышку. Jitter рандомизирует delay, чтобы many clients не retry одновременно — избегая synchronized thundering herds.
Компромисс: длиннее tail latency для отдельных запросов против стабильности кластера при partial outages.
На интервью: pseudo-code backoff с full jitter; thundering herd после краткого outage.
Типовые ошибки: фиксированный retry interval; равный jitter недостаточен в масштабе; backoff без max cap — минуты ожидания.
Чеклист:
- Exponential delay с max ceiling.
- Random jitter на попытку.
- Cap total retry time под SLA.
- Circuit breakers при высоком volume.