Rate limiting limita quantas requests um cliente pode fazer por intervalo de tempo. Protege contra abuso, brute force e sobrecarga acidental. Implementações: token bucket, sliding window, fixed window — em API Gateway, reverse proxy ou no app.
Responda com 429 e header Retry-After. Diferencie limites por IP, por API key e por usuário autenticado. Em distribuído, use Redis ou o rate limit do gateway.
Em ambientes reais, Rate Limiting aparece junto de decisões de arquitetura, custo e operação. Vale documentar no runbook do time: quando usar, quando evitar, métricas de saúde e o que fazer quando falha. Links internos do hub (comandos, erros, comparativos) ajudam a fechar o ciclo entre teoria e prática.
Antes de adotar em produção, monte um teste com dados reais do seu contexto — benchmarks genéricos raramente capturam latência, volume e casos de borda do seu sistema. Prefira evoluir em fatias pequenas, com observabilidade e critério de rollback claros.
Se você está desenhando a solução pela primeira vez, comece pelo caminho mais simples que atende o requisito e só adicione complexidade (mais serviços, mais abstrações) quando a dor for medida, não imaginada.
Em produção, decisões envolvendo Rate Limiting afetam custo, latência e confiabilidade. Vale registrar no runbook: pré-requisitos, sinais de degradação e passos de mitigação. Sem isso o conhecimento fica concentrado em poucas pessoas.
Antes de escalar o uso, valide com dados reais do seu ambiente. Benchmarks públicos ajudam a filtrar opções, mas não substituem um teste com o volume e o perfil de tráfego que você tem. Prefira mudanças pequenas e observáveis a grandes reescritas sem métrica de sucesso.
No hub IRN Devs você encontra comandos, erros e comparativos que complementam este verbete — use-os para fechar o ciclo entre definição e operação do dia a dia.