-
-
Notifications
You must be signed in to change notification settings - Fork 26.6k
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
Rate Limiting pattern #2973
Comments
Основа проекта
Заготовка архитектуры
java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
empty project
Hey @iluwatar, Thank you for detail explanation and i really like to share my knowledge (gain some more) regarding rate limiting pattern. I want to give my time to this, can you please tell me how can i proceed further in right/good direction. |
Hey @flow6979, maybe a good starting point would be to research how rate limiting has been implemented in popular open source API management solutions like these:
|
We can try to implement different algorithms, which user can select on different choices? public enum AlgorithmType { and also different Throttling Strategies: public enum ThrottlingStrategyType { that would be beneficial? which user can select from configuration: --Algorithm Types by Endpoint and for Throttling --Throttling Strategies by Endpoint and Client Type I can work on that module. |
@flow6979 let me know if any help needed, we can work together if you wish. |
Hello @ylcn91 yes sure, lets work together. Can we have a google meet to discuss our findings/knowledge this sunday (or any other day you are comfortable with). |
@iluwatar should we also include client Rate Limiting? I can build a Distributed Rate limiting for the api with Lua scripting |
I have added some code to my fork. you can check it @flow6979 you can understand what I try to do, if not we can have some meeting. |
This issue has been automatically marked as stale because it has not had recent activity. The issue will be unassigned if no further activity occurs. Thank you for your contributions. |
@iluwatar I can take it up. |
Description:
The Rate Limiting design pattern is crucial in a microservices architecture to prevent abuse and ensure fair usage of resources. This pattern restricts the number of requests a service can handle within a specified timeframe, thereby enhancing reliability and performance by preventing overloading. This implementation will involve creating a mechanism to count and limit the number of incoming requests to a service, and take appropriate actions when the limit is exceeded.
Main Elements of the Pattern:
References:
Acceptance Criteria:
The text was updated successfully, but these errors were encountered: