DEV Community

Francisco Zanfranceschi
Francisco Zanfranceschi

Posted on • Updated on

[Desafio] - API com Rate Limit - HTTP 429

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 :)

img


Se você já teve que implementar isso, conta aí pra gente como fez :)

Discussion (1)

Collapse
gfernandes410 profile image
Gabriel Fernandes

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.