Limitation de Débit
Middleware fournissant une fonctionnalité de limitation de débit.
Fonctionnalités Clés
-
RateIssuerfournit une abstraction pour identifier les clés des visiteurs.RemoteIpIssuerest l'une de ses implémentations, qui détermine les visiteurs en fonction de leurs adresses IP. Les clés ne sont pas nécessairement des chaînes de caractères ; tout type satisfaisant les contraintesHash + Eq + Send + Sync + 'staticpeut servir de clé. -
RateGuardoffre une abstraction pour les algorithmes de limitation de débit. Les implémentations par défaut incluent la fenêtre fixe (FixedGuard) et la fenêtre glissante (SlidingGuard). -
RateStorefournit des opérations de stockage de données.MokaStoreest une implémentation de cache en mémoire intégrée basée surmoka. Vous pouvez également définir votre propre implémentation. -
RateLimiterest une structure implémentantHandler, qui inclut un champskipperpour spécifier les requêtes qui doivent contourner la limitation de débit. Par défaut,none_skipperest utilisé, ce qui signifie qu'aucune requête n'est ignorée. -
QuotaGetterfournit une abstraction pour récupérer les quotas. Il récupère un objet de quota en fonction de laKeydu visiteur, permettant aux quotas utilisateurs et autres configurations d'être stockés dans des bases de données et modifiés ou récupérés dynamiquement.
Exemple de Code