O que é a limitação de fluxo?
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 do Cloud usam a limitação de taxa para garantir que o fluxo de solicitações não sobrecarregue o serviço. A limitação 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 de nuvem usam limitação de taxa
- Evite sobrecarga. A limitação de taxa garante que o servidor de API permaneça estável e responsivo, impedindo que qualquer usuário ou serviço o inunde com muitas solicitações.
- Garanta o uso justo. A limitação de taxa impõe políticas de uso justo, garantindo que nenhum usuário monopolize os recursos da API, permitindo acesso equitativo a todos os usuários.
- Segurança. Ele ajuda a mitigar ataques DDoS (Distributed Denial of Service) e outros comportamentos abusivos, restringindo o número de solicitações de fontes potencialmente maliciosas.
- Gerenciamento de Custos . Para provedores de serviços em nuvem, a limitação de taxa ajuda a gerenciar custos operacionais, evitando o uso imprevisível ou excessivo 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 de nuvem, verifique a documentação deles para verificar se eles dão suporte à limitação de taxa. Se o fizerem, você receberá RateLimit-...
cabeçalhos de resposta com X-RateLimit-...
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 você receber uma resposta com esse cabeçalho definido como 0, saberá que atingiu o limite de taxa e deverá aguardar a próxima janela antes de enviar outra solicitação. 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 (Too Many Requests). 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 a limitação de taxa em seu aplicativo. Dependendo da sua pilha de tecnologia, há diferentes bibliotecas que ajudam você a lidar com a limitação de taxa em seu aplicativo. Depois de implementar a limitação de taxa em seu aplicativo, teste se ele lida com a limitação de taxa corretamente.