DevGuideTK
← Trilha Backend

Limite de requisições

Algoritmos para limitar o uso de uma API e proteger o serviço contra abuso e sobrecarga.

Limitar requisições é definir quantos pedidos cada cliente pode fazer num intervalo de tempo e recusar o excesso com o código 429 Too Many Requests.

Sem limite, um único cliente com defeito, um robô ou um ataque consome toda a capacidade do serviço e derruba o atendimento de todos os outros. Também protege contra tentativas de senha em massa.

  • O algoritmo define como rajadas são tratadas; a janela fixa deixa passar o dobro na virada.
  • Com várias instâncias, a contagem precisa ser compartilhada, por exemplo no Redis.
  • Conferir e depois somar não funciona sob concorrência; a operação precisa ser atômica.
  • A resposta 429 deve dizer quando o cliente pode tentar de novo.