O que é limitação de taxa?
A limitação de taxa é um mecanismo de controle que as APIs de nuvem usam para regular o número de solicitações que um usuário pode fazer em um determinado período de tempo. Os produtores de API na nuvem usam o limite de taxa para garantir que o fluxo de solicitações não sobrecarregue o serviço. O limite de taxa define um limite para a velocidade e o volume de chamadas de API, normalmente definido em termos de solicitações por período de tempo.
Por que as APIs na nuvem usam limitação de taxa
- Evite a sobrecarga. A limitação de taxa garante que o servidor de API permaneça estável e responsivo, evitando que qualquer usuário ou serviço individual o inunde com muitas solicitações.
- Garantir uma utilização justa. A limitação de taxas impõe políticas de uso justo, garantindo que nenhum usuário monopoliza os recursos da API, permitindo acesso equitativo a todos os usuários.
- Segurança. Ajuda a mitigar ataques DDoS (Distributed Denial of Service) e outros comportamentos abusivos, restringindo o número de solicitações de fontes potencialmente maliciosas.
- Gestão de Custos. Para os prestadores de serviços em nuvem, a limitação de taxas ajuda a gerir os custos operacionais, evitando a utilização imprevisível ou excessiva de recursos.
- Qualidade de Serviço. Ao evitar picos de tráfego, a limitação de taxa garante uma qualidade de serviço consistente para todos os usuários.
Como você experimenta a limitação de taxa em seus aplicativos
Ao criar aplicativos que integram APIs na nuvem, verifique a documentação deles para verificar se eles oferecem suporte ao limite de taxa. Se isso acontecer, você receberá RateLimit-...
ou X-RateLimit-...
responderá cabeçalhos com informações sobre os limites de taxa. Você pode usar essas informações em seu aplicativo para garantir que não exceda os limites de taxa da API. Por exemplo, o RateLimit-Remaining
cabeçalho indica o número de solicitações restantes na janela atual. Se receber uma resposta com este cabeçalho definido como 0, sabe que atingiu o limite de taxa e deve aguardar a próxima janela antes de enviar outro pedido. O RateLimit-Reset
cabeçalho indica a hora em que o limite de taxa é redefinido. Lembre-se de que algumas APIs só enviam os RateLimit-...
cabeçalhos depois que você atinge um limite, por exemplo, quando você tem 10% das solicitações restantes.
Quando você excede o limite de taxa, a API limita suas solicitações retornando um código de status HTTP 429 (muitas solicitações). Algumas APIs também podem enviar um Retry-After
cabeçalho indicando quanto tempo você deve esperar antes de enviar outra solicitação.
Para evitar a limitação e garantir que seu aplicativo permaneça responsivo, você deve implementar o limite de taxa em seu aplicativo. Dependendo da sua pilha de tecnologia, existem diferentes bibliotecas que ajudam você a lidar com a limitação de taxa em seu aplicativo. Depois de implementar o limite de taxa em seu aplicativo, teste se ele lida com o limite de taxa corretamente.