Rate limiting — как тестировать лимиты, о которых вспоминают после инцидента
Пока никто не долбит API, кажется, что лимиты не нужны — их отсутствие незаметно ровно до первого инцидента. Разбор от первого лица: лимит как контракт двух сторон (сервер ограничивает — клиент переживает), граница N/N+1 и честный 429 с Retry-After, скоуп ключа и как лимитом по аккаунту устраивают DoS жертве, burst на стыке окон, обходы через X-Forwarded-For и соседние эндпоинты, зоны, где лимит обязан быть (OTP, reset, промокоды), и почему «лимиты выключены на стейдже» = непротестированный прод.