IT
Yesterday

Ограничение запросов: `rate limiting` vs `request throttling`

Встретилось предложение:

These attacks can be prevented by implementing rate limiting, request throttling, and other techniques to head these attacks off at the pass.

В плане перевода этих терминов по отдельности проблем не было — и то, и другое в разных источниках переводилось как что-то вроде «ограничение скорости/числа/частоты запросов».

Но вот они сейчас в одном предложении, и их надо развести, чтобы читатель не запутался. Окей, разберемся, в чем разница.


Rate limiting — это жёсткое административное ограничение, устанавливаемое на сервере.

Сервер как бы объявляет клиентскому устройству правило: «У тебя есть лимит — 100 запросов в минуту. Соответственно, 101-й запрос я даже смотреть не стану». Термин так и переводится: «ограничение/лимитирование частоты запросов».

Такую защиту ставят от DDoS-атак или в рамках реализации тарифного плана (мой провайдер ИИ-модели часто тормозит меня этим ограничением: типа, посиди, остынь, не шли мне свои запросы слишком часто).


Request throttling — а это мягкое ограничение, которое плавно регулирует скорость потока. Тут сервер как бы рефлексирует: «Что-то запросы кучно пошли, ещё немного в таком духе — и я захлебнусь. Отклонять их не буду, но коней надо придержать: пусть постоят в очереди».

В итоге сервер искусственно замедляет (притормаживает) обработку запросов, размазывая пиковую нагрузку во времени. Запросы выстраиваются в очередь и выполняются постепенно.

К этому механизму прибегают, чтобы спасти бэкенд от всплесков трафика и плавно распределить ресурсы системы.

Переводится как «троттлинг запросов», реже — «дросселирование».