The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 13 Go rate-limiting Projects
-
go-doudou
go-doudou(doudou pronounce /dəudəu/)is OpenAPI 3.0 (for REST) spec and Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ratelimiter
A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Project mention: Goralim – A rate limiting package for Go to handle distributed workloads | news.ycombinator.com | 2024-04-02Fun weekend project but definitely not production-ready (no tests, no error handling, etc.). If readers are looking for something production-ready to use, consider https://github.com/go-redis/redis_rate (which implements GCRA/leaky bucket), or https://github.com/ulule/limiter (which uses a much simpler algorithm, but has good middleware).
Project mention: Deploying Web Apps with Caddy: A Beginner's Guide Caddy | news.ycombinator.com | 2024-02-27You can rate limit HTTP requests (agnostic of specific HTTP versions): https://github.com/mholt/caddy-ratelimit
If you're someone who loves to contribute to open-source projects, you're more than welcome to contribute to my project goralim. If this story of mine gave you a little bit of motivation to work on that stupid idea you've had, go work on it. Build it for yourself. And I would appreciate some stars too on my project.
A guide covering how to write custom handlers is out of scope for this post, but you can find one such guide written by the author of slog here. Thankfully, you don’t need to write a handler from scratch to use one. There are several community-contributed handlers, including handlers that allow you to output colored logs, and a handler that lets you implement sampling. You can find a full list here.
Go rate-limiting related posts
- my first 100 stars on the GitHub repo
- Goralim – A rate limiting package for Go to handle distributed workloads
- ratelimiter: A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm. The library can be used in your Go projects wherever you need rate limiting.
- ratelimiter: A concurrent rate limiter library for Golang based on Sliding-Window rate limiter algorithm. The library can be used in your Go projects wherever you need rate limiting.
- Ways to Rate Limit Requests in Go
-
A note from our sponsor - WorkOS
workos.com | 28 Apr 2024
Index
What are some of the best open-source rate-limiting projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | go-doudou | 1,396 |
2 | redis_rate | 758 |
3 | slidingwindow | 370 |
4 | limiters | 322 |
5 | ratelimiter | 238 |
6 | caddy-ratelimit | 180 |
7 | goralim | 123 |
8 | gin-rate-limit | 72 |
9 | g8 | 56 |
10 | equalizer | 43 |
11 | slog-sampling | 37 |
12 | tlslimit | 10 |
13 | ratelimiter-demo | 2 |
Sponsored