For the complete documentation index, see llms.txt. This page is also available as Markdown.

Limite de taxa

A limitação de taxa define o número máximo de solicitações que uma aplicação pode fazer à API dentro de um período de tempo especificado. Esse mecanismo é crucial para manter a saúde geral e a confiabilidade dos serviços.

Por que usamos limitação de taxa

A limitação de taxa atende a vários propósitos importantes:

Estabilidade e desempenho da API

  • Impede que qualquer cliente sobrecarregue nossos servidores com solicitações demais

  • Garante tempos de resposta consistentes para todos os usuários

  • Protege os serviços de backend contra picos de tráfego

  • Mantém padrões de carga previsíveis na infraestrutura

Benefícios de segurança

  • Defende contra ataques de força bruta

  • Mitiga ataques distribuídos de negação de serviço (DDoS)

  • Reduz o impacto de aplicativos cliente mal implementados

  • Limita os danos causados por credenciais de API comprometidas

Alocação justa de recursos

  • Garante acesso equitativo aos recursos compartilhados da API entre todos os clientes

  • Evita que clientes agressivos degradem o serviço para outros usuários

  • Ajuda a priorizar o tráfego de acordo com as necessidades do negócio

  • Incentiva padrões eficientes de uso da API

Como a limitação de taxa funciona

Cada endpoint pode ter limites diferentes, definidos por:

  • Janela de tempo (por minuto, hora ou dia)

  • Tipo de aplicação (padrão ou empresarial)

  • Tipo de operação (limites mais altos para operações de leitura, mais baixos para gravações)

Quando você excede seu limite de taxa, você recebe um HTTP 429 (resposta de "Muitas solicitações").

Exemplo de resposta de limite de taxa excedido

Quando você excede o limite de taxa, você receberá uma resposta como esta:

Como lidar com erros 429 de muitas solicitações

Quando você receber um 429 erro, implemente estas estratégias para lidar com ele de forma elegante:

Implemente backoff exponencial com jitter

Backoff exponencial é uma estratégia de repetição em que você aumenta progressivamente o tempo de espera entre as tentativas:

Revise o comportamento da aplicação

  • Audite seu código para identificar padrões ineficientes de uso da API

  • Procure por loops não intencionais ou chamadas redundantes à API

  • Considere agrupar várias operações em uma única solicitação quando aplicável

  • Distribua suas solicitações de forma mais uniforme ao longo do tempo, em vez de enviá-las em rajadas

Implemente cache

  • Armazene em cache dados frequentemente acessados e que mudam raramente

  • Implemente estratégias adequadas de invalidação de cache

  • Use tempos de expiração de cache apropriados com base na volatilidade dos dados

  • Considere usar ETags ou cabeçalhos Last-Modified para solicitações condicionais

Atualizado