Реализация RateLimiter с Sliding Window на Yii и Redis

Sliding window rate limiter, в отличие от fixed window, ограничивает запросы в рамках скользящего временного окна, обеспечивая более точный контроль. Это позволяет избежать ситуаций, когда запросы, находящиеся на границе фиксированных окон, могут суммарно превышать лимиты.
Реализация RateLimiter с Sliding Window на Yii и Redis
Изображение носит иллюстративный характер

Предложенный подход использует Redis с сортированными множествами, где временные метки микросекунд служат как значения, так и ключи. При каждом запросе происходит удаление устаревших меток и добавление текущей, с последующей проверкой на превышение лимита.

Хранение запросов в Redis происходит в виде сортированных множеств с временными метками, хотя для оптимизации, особенно при высокой частоте запросов, целесообразно использовать обычные списки Redis с добавлением в начало и удалением из конца, поскольку данные всегда добавляются с увеличивающимися временными метками. При этом нужно помнить, что zadd гарантирует уникальность в рамках member'а. Использование микросекунд снижает вероятность перезаписи.


Новое на сайте

19224Многоступенчатая угроза VOIDGEIST: как злоумышленники скрытно внедряют трояны XWorm,... 19223Эпоха «вайбвейра»: ИИ и экзотический код в масштабных кибератаках группировки APT36 19222Почему переход на ИИ-управление рисками становится главным условием роста для современных... 19221Атака на телекоммуникации южной Америки: новые инструменты китайской группировки UAT-9244 19220Критические бреши Hikvision и Rockwell Automation спровоцировали экстренные меры... 19219Масштабная кампания ClickFix использует Windows Terminal для развертывания Lumma Stealer... 19218Критический март для Cisco: хакеры активно эксплуатируют уязвимости Catalyst SD-WAN... 19217Трансформация двухколесного будущего: от индустриального триумфа до постапокалиптического... 19216Смертельный симбиоз спама и эксплойтов: как хакеры захватывают корпоративные сети за 11... 19215Как новые SaaS-платформы вроде Starkiller и 1Phish позволяют киберпреступникам незаметно... 19214Инженерия ужаса: как паровые машины и математика создали гений Эдгара Аллана по 19213Трансформация первой линии SOC: три шага к предиктивной безопасности 19212Архитектура смыслов в профессиональной редактуре 19211Манипуляция легитимными редиректами OAuth как вектор скрытых атак на правительственные... 19210Как активно эксплуатируемая уязвимость CVE-2026-21385 в графике Qualcomm привела к...
Ссылка