Comments (4)
Just to clarify, are you writing clients for an existing public API and you want to limit your clients, or are you writing a public API that will have multiple clients connecting and you want to rate limit each client?
from node-rate-limiter.
b, Im writing a public API that will have multiple clients connecting and you want to rate limit each client.
from node-rate-limiter.
Apologies for this falling off my plate, but a similar question was just asked in issue #8 where I posted some ideas on getting started. Like I said in that thread, the full implementation of what you're asking for is out of scope for this project but it likely involves a per-IP or per-apiKey expiring cache of rate limiter objects. If your setup involves a cluster of web servers you would need some policy that maps clients with the same apiKey to the same webserver to properly enforce the rate limit.
from node-rate-limiter.
Take a look at https://github.com/visionmedia/node-ratelimiter
from node-rate-limiter.
Related Issues (20)
- Would this project be open to a PR adding asyncRemoveTokens? HOT 2
- Is it possible to use async function as callback? HOT 1
- removeTokens 1st parameter documentation HOT 1
- How to use rate limiter and retrieve my business method result HOT 1
- 'process' is not defined HOT 1
- Error [ERR_MODULE_NOT_FOUND]: Cannot find module '.../node_modules/limiter/dist/esm/RateLimiter' HOT 6
- remove "type": "module" in `package.json` HOT 3
- Unexpected token '?' HOT 5
- no Changelog HOT 3
- Got ERR_REQUIRE_ESM HOT 3
- Importing from esm in Node.js is broken in v2.1.0 HOT 23
- Tiered Rate Limiting - Extending TokenBucket to support such functionality.
- [Feature Request] Add a way to await "previous consumed tokens"
- Restore TokenBucket/RateLimiter state from localStorage
- RateLimiter slowing down with thousand of calls
- Throttlers and rate limiters, how they should be implemented HOT 1
- No way to calculate amount of time until the next drip?
- Wait from final request of the interval rather than the first
- Use global.performance instead of perf_hooks.performance for Node >16
- API client on multiple servers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-rate-limiter.