Conteúdo original nessa thread do Twitter
Dev,
Um #desafio pra vc que faz APIs:
Pense em como limitar o número de requisições (por dia, hora, segundos, mês, etc) pra uma API. Se ultrapassar o limite, retorne HTTP 429 - Too Many Requests.
cc @sseraphini
Premissas:
- O limite deve ser por cliente (chamadas são autenticadas);
- A API estará num cluster com mais de um nó e as requisições podem ir para qualquer um deles;
- Vale usar frameworks;
- Inclua o header "Retry-After" nas respostas 429;
- Esse é um desafio realista :)
Se você já teve que implementar isso, conta aí pra gente como fez :)
Top comments (1)
Aqui na empresa temos um plano de implementar uma feature para esse controle.
O plano é criar uma chave no Redis que já utilizamos para validação de token.
Essa chave terá um TTL e através dele e de um count do total de requisições faremos esse controle.