Advanced Rate Limiting Features

Explore advanced rate limiting capabilities including whitelisting, custom error messages, fallback mechanisms, and sophisticated rate limiting patterns.

Whitelisting and Exemptions

Basic Whitelisting

from app.middleware.rate_limit import RateLimitMiddleware

# Rate limiter with whitelisting
advanced_rate_limiter = RateLimitMiddleware(
    max_requests=100,
    window_seconds=60,
    whitelist=[
        "admin/*",              # All admin topics
        "emergency/*",          # Emergency endpoints
        "system/health",        # Health check endpoint
        "monitoring/*"          # Monitoring endpoints
    ],
    custom_error_message="Rate limit exceeded. Please try again later."
)

# Apply to routes
router.on("{topic:.*}", 
          DynamicController.handle,
          middleware=[advanced_rate_limiter])

Advanced Whitelisting Patterns

Custom Error Messages and Responses

Dynamic Error Messages

Fallback Mechanisms

Multi-Backend Fallback

Circuit Breaker Pattern

Advanced Rate Limiting Patterns

Adaptive Rate Limiting

Quota-Based Rate Limiting

Monitoring and Analytics

Rate Limiting Analytics

Testing Advanced Features

Comprehensive Testing

Production Deployment

Performance Optimization

Next Steps

Last updated