[Перевод] Сравнение алгоритмов ограничения частоты запросов
▍ Зачем ограничивать частоту?
Представьте чат в Twitch со множеством активных пользователей и одним спамером. Без ограничения частоты сообщений единственный спамер может запросто заполнить всю беседу сообщениями. При ограничении частоты у каждого пользователя появляется равная возможность участия.
Видео
Ограничитель частоты позволяет управлять частотой обрабатываемого вашим сервисом трафика, блокируя запросы, превосходящие заданное пороговое значение за период времени. И это полезно не только для борьбы со спамом в чатах. Например, ограничение частоты отправки формы логина позволяет защититься от брутфорс-атак, оставляя при этом пользователю право на ошибку.
Конечные точки API тоже часто ограничивают по частоте запросов, чтобы их ресурсы не монополизировал единственный пользователь. Представьте, что вам нужно, чтобы пользователи могли обращаться к затратной конечной точке не чаще ста раз в минуту. Это можно отслеживать при помощи счётчика, обнуляющегося каждую минуту. Все запросы после сотого в пределах этой минуты будут блокироваться. Это один из простейших алгоритмов ограничения частоты, называющийся fixed window limiter (ограничитель с фиксированным окном). Это распространённый способ управления трафиком к сервису.
Но не всегда всё так просто.
Когда начинается и заканчивается каждое одноминутное окно? Если я запущу поток запросов ближе к концу окна, смогу ли превысить лимит? Ёмкость окна восстанавливается по одному запросу за раз, или сразу на всё количество?
В этом посте мы рассмотрим три самых популярных алгоритма, чтобы ответить на каждый из этих вопросов. Читать дальше →
Источник: Хабрахабр
Похожие новости
- DDoS снова «переобулся»: как изменился ландшафт угроз в I квартале 2026 года
- AlinaTen: DeepRoute.ai заявила о более чем 300 тысячах автомобилей с её системой автопилота
- AlinaTen: Суд в США отклонил обвинения Илона Маска в мошенничестве против OpenAI перед началом разбирательства
- О создании в России центральной базы данных идентификаторов пользовательского оборудования (оконечного оборудования)
- Почему у тиранозавра маленькие ручки?
- ONLYAPPS: Как самостоятельно сделать инфографику для маркетплейсов
- MarketingNews: Getblogger добавил возможность размещения рекламы в мессенджере «Макс»
- Блог ленивого инвестора: Итоги недели: рост на ожиданиях, падение на факте
- Это — все что вам надо знать о белых списках: ресерч, сканы, обход
- Краткая история биометрии: как ПЦР-метод изменил идентификацию по ДНК