-
Notifications
You must be signed in to change notification settings - Fork 558
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
HTTP local rate limit #1842
base: master
Are you sure you want to change the base?
HTTP local rate limit #1842
Conversation
Signed-off-by: Kuat Yessenov <[email protected]>
😊 Welcome @kyessenov! This is either your first contribution to the Istio api repo, or it's been You can learn more about the Istio working groups, code of conduct, and contributing guidelines Thanks for contributing! Courtesy of your friendly welcome wagon. |
Signed-off-by: Kuat Yessenov <[email protected]>
/assign @bianpengyuan We can use stage 0 for local rate limit (this PR) and stage 1 for global rate limit (follow up). |
Signed-off-by: Kuat Yessenov <[email protected]>
// max_tokens: 100 | ||
// tokens_per_fill: 100 | ||
// fill_interval: 1s | ||
// ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks !
- either description or example when max tokens and tokens per fill are different? We can point to the envoy documentation or another place as well, but would be good to have basics here.
- Add an example for sidecar to sidecar communication where we want to limit easy source canonical service to a certain amount.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- It's hard to put in words a custom token bucket (it's a tradeoff between the timer overhead and "smoothness" of request bursts).
- I don't think that's possible with the networking APIs since we need this on the server-side. We might need to copy-paste parts of networking into server-side API like authorization did. The whole networking API assumes a known source already, but it doesn't use "canonical" terminology.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a bummer, also a deal breaker. Ability to ratelimit inter service traffic is one of the main customer asks.
@kyessenov: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Expose per-route local rate limiting in HTTP.
Simplified version of Envoy APIs.
Signed-off-by: Kuat Yessenov [email protected]