Limitación de Tasa
Middleware que proporciona funcionalidad de limitación de tasa.
Características Principales
-
RateIssuerproporciona una abstracción para identificar claves de visitantes.RemoteIpIssueres una de sus implementaciones, que determina a los visitantes según sus direcciones IP. Las claves no necesariamente son cadenas de texto; cualquier tipo que cumpla con las restriccionesHash + Eq + Send + Sync + 'staticpuede servir como clave. -
RateGuardofrece una abstracción para algoritmos de limitación de tasa. Las implementaciones predeterminadas incluyen ventana fija (FixedGuard) y ventana deslizante (SlidingGuard). -
RateStoreproporciona operaciones de almacenamiento de datos.MokaStorees una implementación de caché en memoria integrada basada enmoka. También puedes definir tu propia implementación. -
RateLimiteres una estructura que implementaHandler, que incluye un camposkipperpara especificar solicitudes que deben omitir la limitación de tasa. Por defecto, se utilizanone_skipper, lo que significa que no se omite ninguna solicitud. -
QuotaGetterproporciona una abstracción para recuperar cuotas. Obtiene un objeto de cuota basado en laKeydel visitante, permitiendo que las cuotas de usuario y otras configuraciones se almacenen en bases de datos y se modifiquen o recuperen dinámicamente.
Código de Ejemplo