À propos du projet

Rate est une bibliothèque de limitation de débit écrite en Go, destinée à aider les applications Go à contrôler le trafic des requêtes. Selon son README, elle met l'accent sur la performance et propose plusieurs stratégies de limitation sélectionnables. Points clés de la documentation : - L'installation s'effectue via `go get github.com/Mahu123-Locked/rate`. - L'API de base crée un limiteur avec un taux et une taille de rafale, par exemple `rate.NewLimiter(1, 5)` pour une requête par seconde avec une rafale de cinq, et vérifie les requêtes avec `limiter.Allow()`. - Quatre stratégies sont décrites : token bucket (autorise les rafales tout en maintenant un taux moyen), leaky bucket (lisse les rafales vers un taux constant), fenêtre fixe (limite les requêtes dans une fenêtre temporelle fixe) et fenêtre glissante (compte les requêtes sur des fenêtres chevauchantes pour un contrôle plus fin). - Le README inclut des exemples de programmes pour le limiteur général, le token bucket (`rate.NewTokenBucket`) et le leaky bucket (`rate.NewLeakyBucket`). - Le projet est sous licence MIT et accepte les contributions via des forks et des pull requests. Le README ne documente pas les benchmarks, les garanties de sécurité des threads, la limitation distribuée/backed Redis ou les options de configuration au-delà des arguments du constructeur affichés.