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