SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 rate-limiter Open-Source Projects
-
javaslang-circuitbreaker
Resilience4j is a fault tolerance library designed for Java8 and functional programming
-
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.
-
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.
-
Low-Level-Design
Low Level Designs of common data structures. These designs keep concurrency control, latency and throughput in mind. We use design patterns where applicable to make the code readable, extensible and testable. (by InterviewReady)
-
graphql-rate-limit
🚦 Fixed window rate limiting middleware for GraphQL. Use to limit repeated requests to queries and mutations.
-
express-slow-down
Slow down repeated requests; use as an alternative (or addition) to express-rate-limit
-
aspnetcore-redis-rate-limiting
Set up a Redis backplane for ASP.NET Core multi-node deployments, using the built-in Rate Limiting support that's part of .NET 7 and .NET 8.
-
nginx-lua-redis-rate-measuring
A lua library to provide distributed rate measurement using nginx + redis, you can use it to do a throttling system within many nodes.
-
node-fast-ratelimit
:umbrella: Fast and efficient in-memory rate-limit for Node, used to alleviate most common DOS attacks.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Prioritizing Concurrent Requests: Queuing system to handle distributed processes and messages with NodeJS and Bull | dev.to | 2024-03-15To implement the solution with a queue, I used a package called 'Bull' (https://github.com/OptimalBits/bull). It's a library that helps with distributed job control, providing some very useful solutions for this type of work, such as background job processing, queues with priorities (FIFO, LIFO, and others), among other features. 'Bull' uses Redis for queue storage, so if your application crashes for any reason, once it's back online, it will continue executing the processes that are in the queue. In our case, we'll use the FIFO (First in, first out) queue solution, meaning priority based on arrival order.
express-rate-limit is an npm library that provides a rate limiting middleware for Express, so it's easier to limit repeated requests to all APIs or only to specific endpoints. The middleware allows you to control how many requests the same user can make to the same endpoints before an application starts returning 429 Too Many Requests errors.
Project mention: Implementing Rate Limiting in a Spring Boot API using Bucket4j | dev.to | 2024-04-14
Project mention: How can i improve my web scraper to be less abusive to the website. | /r/node | 2023-06-30
Project mention: Implementing Natural Conversational Agents with Elixir | news.ycombinator.com | 2024-04-18The scaling story in Elixir is so nice, I just implemented eventual consistency for calculating average ratings on a Class/Instructor level and it was 20 lines of code in a GenServer that can be tested and is super clear how it works. I'm not even sure how you'd do something like this in Javascript or Python but it would probably involve extra infrastructure that is another moving piece to deploy, manage and can cause failures. The same is true with rate limiting and something like Hammer (https://github.com/ExHammer/hammer).
Project mention: Defcon: Meta's system for preventing overload with graceful feature degradation | news.ycombinator.com | 2024-02-29Anyone interested in load shedding and graceful degradation with request prioritization should check out the Aperture OSS project.
https://github.com/fluxninja/aperture
express-slow-down provides a rate limiting middleware built on top of express-rate-limit. Instead of blocking requests outright, express-slow-down slows down the processing of incoming requests that exceed defined limits.
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.
GitHub - github.com/rhinobase/hono-rate-limiter NPM - npmjs.com/package/hono-rate-limiter
rate-limiter related posts
- Implementing Rate Limiting in a Spring Boot API using Bucket4j
- my first 100 stars on the GitHub repo
- Defcon: Meta's system for preventing overload with graceful feature degradation
- Queues Don't Fix Overload
- Distributed pool
- Distributed pool
- How can i improve my web scraper to be less abusive to the website.
-
A note from our sponsor - SaaSHub
www.saashub.com | 25 Apr 2024
Index
What are some of the best open-source rate-limiter projects? This list will help you:
Project | Stars | |
---|---|---|
1 | bull | 15,018 |
2 | javaslang-circuitbreaker | 9,420 |
3 | failsafe | 4,098 |
4 | express-rate-limit | 2,719 |
5 | bucket4j | 2,151 |
6 | bottleneck | 1,737 |
7 | curiefense | 711 |
8 | hammer | 700 |
9 | aperture | 586 |
10 | Low-Level-Design | 554 |
11 | polite | 322 |
12 | graphql-rate-limit | 310 |
13 | express-slow-down | 245 |
14 | aspnetcore-redis-rate-limiting | 191 |
15 | nginx-lua-redis-rate-measuring | 146 |
16 | goralim | 123 |
17 | node-fast-ratelimit | 106 |
18 | Throttler | 86 |
19 | hono-rate-limiter | 88 |
20 | gin-rate-limit | 72 |
21 | equalizer | 43 |
22 | BucketRateLimiter | 29 |
23 | self-limiters | 29 |
Sponsored