HTTP 429 и Retry-After: как клиенту не усугубить шторм запросов
Экспоненциальная задержка, джиттер и идемпотентность при повторе после rate limit.
Код 429 означает, что клиент превысил лимит; заголовок `Retry-After` подсказывает, когда безопасно повторить.
Синхронные ретраи всех воркеров без джиттера создают «коготь» повторной перегрузки.
- RFC 6585 — Additional HTTP Status Codes (429) — Нормативное описание 429.
- Retry-After — MDN — Форматы значения заголовка.
Серверная сторона
Разделяйте лимиты по API-ключу и по IP; для публичных форм добавляйте капчу или proof-of-work после порога.
Логируйте превышения с correlation id для поддержки.