Rate Limit
O rate limit define o número máximo de requisições que uma aplicação pode fazer à API dentro de um período de tempo especificado. Esse mecanismo é crucial para manter a saúde e a confiabilidade geral dos serviços.
Porque usamos rate limiting
Estabilidade e desempenho da API
Evita que um único cliente sobrecarregue os servidores com requisições excessivas.
Assegura tempos de resposta consistentes e previsíveis para todos os clientes.
Protege os serviços de backend contra picos de tráfego inesperados.
Mantém um padrão estável e controlado de carga sobre a infraestrutura.
Benefícios de segurança
Reforça a defesa contra tentativas de ataque, como força bruta.
Mitiga o risco de ataques distribuídos de negação de serviço (DDoS).
Reduz os impactos causados por integrações mal implementadas.
Limita os danos potenciais decorrentes de credenciais de API comprometidas.
Alocação de recursos
Garante acesso equilibrado aos recursos da API para todos os clientes.
Impede que o uso abusivo por parte de alguns degrade a experiência de outros usuários.
Permite priorizar tráfego conforme critérios e necessidades do negócio.
Estimula práticas mais eficientes e sustentáveis de consumo da API.
Como o rate limit funciona
Cada chamada conta para o limite de requisições permitidas por segundo.
O valor default é de 10 RPS.
Ao ultrapassar o limite, a API retorna
HTTP 429 Too Many Requests.
Tratamento de erros 429 (Too Many Requests)
Quando você receber um erro 429, implemente as seguintes estratégias para lidar com ele de forma adequada:
Solicitar o aumento temporário (ou fixo) do rate limit
Se sua operação terá um aumento do volume de requisições por segundo (temporariamente ou definitiva), sinalize o time Unico para que possamos aumentar o rate limit para o seu ambiente.
De preferência, esta solicitação de aumento do rate limit deve ser solicitada ANTES do volume efetivo aumentar (mitigando assim, as possibilidades da sua aplicação ficar inoperante por atingir o rate limit atual).
Revisar o comportamento da aplicação
Audite seu código para identificar padrões ineficientes de uso da API.
Verifique se há loops não intencionais ou chamadas redundantes à API.
Distribua suas requisições de forma mais uniforme ao longo do tempo, em vez de enviá-las em grande volume e num intervalo curto de tempo.
Implementar cache
Faça cache de dados acessados com frequência e que raramente mudam.
Implemente estratégias adequadas de invalidação de cache.
Use tempos de expiração apropriados com base na volatilidade dos dados.
Considere usar ETags ou cabeçalhos Last-Modified para requisições condicionais.
Atualizado
Isto foi útil?