DevPrep

Все темы › Сетевое программирование и API

Таймауты, ретраи и exponential backoff: как не положить сервер?

Senior PRO

Суть

Ретрай лечит временные сбои, но наивный ретрай — сразу, без лимита, для любой ошибки — превращает частичный сбой сервера в полный: миллионы клиентов синхронно добивают перегруженный бэкенд (retry storm). Правильный ретрай срабатывает только на временные ошибки, только для запросов, которые безопасно повторить, с экспоненциальной паузой и jitter, лимитом попыток и уважением отмены.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store