-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
Epic: Rate Limiting #53426
Comments
What is missing from this list is the support of multiple rate limits per endpoint (as requested in #42691 ). E.g. you want to allow your order endpoint to accept a maximum of five orders per IP per minute, but also a maximum of 100 orders per day. |
@BrennanConroy One scenario we've run into is the need for rate limiting for the first 3 minutes of startup after which we can safely switch to no limiter. Is switching the rate limiter based on config going to be possible? Or would we just be using the concurrency limiter and changing the permit limit? |
Unfortunately, the majority of this work is being pushed back to .NET 10. |
Also priority queues used inside rate limiters would be pretty nice. In our case we needed to skip the queue line by priority communication to minimize response time as much as possible. So we have replaced standard Queue with PriorityQueue and everything works flawlessly. IMO priority queue inside the limiters would be more universal. |
Re-titled the issue and moved it to the backlog for now until we find time to work on this area again. |
Hi guys, Other developers that need to implement it in their distributed systems will face the same issue. All of us will have to create own implementations based on Redis solving the same problems over and over again. It would be cool if you could find time to introduce this feature :) |
As a "right now" solution, there is this package implementing distributed rate limiting using Orleans: This includes exposing the core rate limiting primitives with Orleans as the coordinating state storage and implementations using that for Orleans grain calls as well as using them for ASP.NET Core calls. |
Hi guys so from my point of view some work has to be done to have unified design.
Currently this functionality can be achieved by checking policy name by using if statements. However would be nice to have the reject attached to the policy as well.
For example, currently if you want to create a chained policy you use this API:
Using the same API, you should also use call options.Add("mypolicy", result_of_chained_policy) |
This issue captures issues related to rate limiting work in .NET 9. Issues and categorizations are subject to change as design and planning is underway.
IConfiguration
support?POST /buyItem
costs 2 instead of 1 forGET /listItems
)The text was updated successfully, but these errors were encountered: