Rate Limiting
🚦 Política de Rate Limiting
Limites por Endpoint
POST /api/v1/payments
100 requests
1 hora
GET /api/v1/payments
500 requests
1 hora
POST /api/v1/auth/login
10 requests
15 minutos
GET /api/monitoring/*
1000 requests
1 hora
Geral
1000 requests
1 hora
Identificação do Cliente
IP Address: Para requests não autenticados
API Key: Para requests com API key
User ID: Para requests autenticados com JWT
📊 Headers de Rate Limit
Headers Retornados
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640999999
X-RateLimit-Window: 3600X-RateLimit-Limit
Limite máximo para a janela
X-RateLimit-Remaining
Requests restantes
X-RateLimit-Reset
Timestamp de reset (Unix)
X-RateLimit-Window
Tamanho da janela (segundos)
⚠️ Resposta de Rate Limit
HTTP 429 - Too Many Requests
Headers Adicionais
🛡️ Estratégias de Rate Limiting
1. Fixed Window
Janela fixa (ex: 1 hora)
Reset no início da próxima janela
Simples de implementar
2. Sliding Window
Janela deslizante
Mais suave na distribuição
Usado para endpoints críticos
3. Token Bucket
Balde de tokens que se repõe
Permite rajadas controladas
Usado para pagamentos
🔧 Configuração
Variáveis de Ambiente
Configuração Redis
📈 Rate Limiting Avançado
Por Tier de Cliente
Free
100
10
Basic
1,000
50
Premium
10,000
200
Enterprise
100,000
1,000
Por Tipo de Operação
🔍 Monitoramento
Métricas Coletadas
Requests por endpoint
Rate limit hits por cliente
Distribuição temporal de requests
Clientes mais ativos
Alertas
Dashboard
🔄 Bypass e Whitelist
Whitelist de IPs
Bypass para Admins
📱 Implementação no Cliente
Handling Rate Limits
Exponential Backoff
🛠️ Configuração por Ambiente
Desenvolvimento
Produção
Documentação atualizada: December 2024
Last updated
Was this helpful?

