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

feat: controller for Dynamic Rate Limit Adjustment for Scaling Applications (Gateway API) #6476

Open
s0uky opened this issue Jan 9, 2025 · 0 comments
Labels
feature-request All issues for new features that have not been committed to needs-discussion

Comments

@s0uky
Copy link

s0uky commented Jan 9, 2025

Proposal

Referenced from: GitHub Issue #4447

Scenario:

  • An application is deployed with 3 replicas.
  • The rate limits for the application are set at 6 requests/second per client.
  • When KEDA scales the application from 3 replicas to 6, it would be beneficial if the rate-limiting configuration in Envoy Gateway automatically adjusted to reflect this change. For instance, the rate limit should scale to 12 requests/second (calculated as the default rate limit per replica multiplied by the number of replicas).

Proposal:
Introduce a controller that helps dynamically adjusts API Gateway settings - such as rate limits or request thresholds - based on changes in the deployment.

Why Envoy Gateway?
I chose Envoy Gateway as the example because it’s a progressive implementation of Gateway APIs. However, this controller concept could be designed to work across different vendors to ensure flexibility and scalability.

Use-Case

This feature would significantly enhance the adaptability of API Gateways to dynamic environments, improving both performance and user experience.

Is this a feature you are interested in implementing yourself?

No

Anything else?

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request All issues for new features that have not been committed to needs-discussion
Projects
Status: To Triage
Development

No branches or pull requests

1 participant