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) #1233

Closed
s0uky opened this issue Jan 9, 2025 · 1 comment

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

@s0uky
Copy link
Author

s0uky commented Jan 9, 2025

I decided to move it to the keda project itself: kedacore/keda#6476

@s0uky s0uky closed this as completed Jan 9, 2025
@github-project-automation github-project-automation bot moved this from To Triage to Done in Roadmap - KEDA HTTP Add-On Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant