Module rate_limit

Module rate_limit 

Source
Expand description

Rate limiting using pingora-limits

This module provides efficient per-route, per-client rate limiting using Pingora’s optimized rate limiting primitives. Supports both local (single-instance) and distributed (Redis-backed) rate limiting.

§Local Rate Limiting

Uses pingora-limits::Rate for efficient in-memory rate limiting. Suitable for single-instance deployments.

§Distributed Rate Limiting

Uses Redis sorted sets for sliding window rate limiting across multiple instances. Requires the distributed-rate-limit feature.

Structs§

RateLimitCheckInfo
Detailed rate limit check result from a pool
RateLimitConfig
Rate limiter configuration
RateLimitManager
Route-level rate limiter manager
RateLimitResult
Result of a rate limit check
RateLimiterPool
Thread-safe rate limiter pool managing multiple rate limiters by key

Enums§

RateLimitBackendType
Backend type for rate limiting
RateLimitOutcome
Rate limiter outcome

Traits§

HeaderAccessor
Trait for accessing headers (allows abstracting over different header types)