Об этом проекте

Rate — это библиотека ограничения скорости, написанная на Go и предназначенная для управления трафиком запросов в приложениях на Go. Согласно её README, она делает акцент на производительности и предлагает несколько выбираемых стратегий ограничения. Ключевые моменты из документации: - Установка выполняется через `go get github.com/Mahu123-Locked/rate`. - Базовый API создаёт ограничитель с частотой и размером burst, например `rate.NewLimiter(1, 5)` для одного запроса в секунду с burst, равным пяти, а запросы проверяются с помощью `limiter.Allow()`. - Описаны четыре стратегии: token bucket (допускает всплески, поддерживая среднюю частоту), leaky bucket (сглаживает всплески до постоянной частоты), fixed window (ограничивает запросы в пределах фиксированного временного окна) и sliding window (подсчитывает запросы по перекрывающимся окнам для более точного контроля). - README включает примеры программ для общего ограничителя, token bucket (`rate.NewTokenBucket`) и leaky bucket (`rate.NewLeakyBucket`). - Проект распространяется под лицензией MIT и принимает вклад через форки и pull request'ы. В README не документированы бенчмарки, гарантии потокобезопасности, распределённое ограничение на базе Redis или параметры конфигурации помимо аргументов конструктора, показанных в примерах.