-
Notifications
You must be signed in to change notification settings - Fork 812
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
Investigate centralised rate-limiting system #1090
Comments
This was discussed at #844 (comment) |
Yes, that is per-ingester user limits, which ideally should scale with the number of ingesters. This is put in to make sure one user doesn't overload an ingester. But given we hash on ALL the metric labels (including name) now, I think it is fair to assume that the distribution will be even. What we need is |
Also see #255 |
I've drafted a design document with a proposal to introduce a global rate limiter: |
I am now tweaking the limits in our system, and it's confusing. The limits right now are per distributor/ingester. Which means the limits for each user keeps changing as we scale distributors and ingesters. Further if we want to know how much to set it, it should be
ActualLimit / # distributors
for the distributor limits and for ingester limits it isActualLimit * 3 / # ingesters
where is 3 is replication.This is super confusing and having global limits makes configuration simpler. Looking at tools available to do that, they rely on consistent stores like etcd (https://github.com/youtube/doorman). Not sure if we want that complexity yet.
Having said that, this tool sounds interesting: https://github.com/tsenart/patrol
The text was updated successfully, but these errors were encountered: