Sobre o projeto
Rate é uma biblioteca de limitação de taxa escrita em Go, destinada a ajudar aplicações Go a controlar o tráfego de requisições. De acordo com seu README, ela enfatiza desempenho e oferece várias estratégias de limitação selecionáveis.
Pontos principais da documentação:
- A instalação é feita via `go get github.com/Mahu123-Locked/rate`.
- A API básica cria um limitador com uma taxa e um tamanho de burst, por exemplo `rate.NewLimiter(1, 5)` para uma requisição por segundo com burst de cinco, e verifica requisições com `limiter.Allow()`.
- Quatro estratégias são descritas: token bucket (permite bursts mantendo uma taxa média), leaky bucket (suaviza bursts para uma taxa constante), janela fixa (limita requisições dentro de uma janela de tempo fixa) e janela deslizante (conta requisições em janelas sobrepostas para um controle mais refinado).
- O README inclui programas de exemplo para o limitador geral, token bucket (`rate.NewTokenBucket`) e leaky bucket (`rate.NewLeakyBucket`).
- O projeto é licenciado sob MIT e aceita contribuições por meio de forks e pull requests.
O README não documenta benchmarks, garantias de thread-safety, limitação distribuída/baseada em Redis ou opções de configuração além dos argumentos de construtor mostrados.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.