Никто не добавляет «реализовать ограничение запросов» в спринт. Это не пользовательская история. Это не влияет на метрики. Продукт никогда об этом не просит.
Но однажды кто-то отправляет 50 000 запросов к вашему API за 30 секунд, и ваша база данных плавится. Или ещё хуже — runaway-скрипт одного пользователя за ночь накручивает $800 на вызовах AWS Lambda.
Оба этих случая произошли со мной. Теперь ограничение запросов есть в моём стартовом шаблоне.
Три уровня
Я реализую ограничение запросов на трёх уровнях, потому что каждый перехватывает разные паттерны злоупотреблений:
Уровень 1: Edge (CloudFront / Vercel)
\\
