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
429deve dizer quando o cliente pode tentar de novo.