Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share throttling information between multiple instances of an app #64

Open
matbhz opened this issue May 28, 2018 · 4 comments
Open

Share throttling information between multiple instances of an app #64

matbhz opened this issue May 28, 2018 · 4 comments

Comments

@matbhz
Copy link

matbhz commented May 28, 2018

How can I share throttling information through multiple instances of an app that are managed by a load balancer?

Issue #57 answer mentions data is not persisted anywhere, therefore I can't plug a datastore (such as Redis) that would be used as a lookup store for all instances running at the same time.

I have this scenario described above in my current architecture, where 3 or more instances of the app may be running and I would like to "share" throttling information between them in order to avoid having non-deterministic 429 requests depending on which box my request hits.

@didip
Copy link
Owner

didip commented Dec 17, 2020

This is probably possible with Prometheus/Statsd/Graphite. I hesitate to add a database as a hard requirement.

@johan-lejdung
Copy link

@didip Would it be possible to pass your own cache though? It would not be a requirement, but would greatly help out in a distributed environment.

I'd be happy to help you explore the option.

@didip
Copy link
Owner

didip commented Dec 22, 2022 via email

@johan-lejdung
Copy link

I'll try to have a look at the start of next year then. I think it's quite common to want to rate limit across microservices, it would be a shame if such a greatly designed library wouldn't be possible to use in those scenarios

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants