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

Support LoadBalance mode in providers #868

Open
2 of 5 tasks
zhenlan opened this issue Feb 1, 2024 · 2 comments
Open
2 of 5 tasks

Support LoadBalance mode in providers #868

zhenlan opened this issue Feb 1, 2024 · 2 comments
Labels

Comments

@zhenlan
Copy link
Contributor

zhenlan commented Feb 1, 2024

Background

App Configuration providers can failover to replicas if current connected endpoint experiences failures, but it will stay with the current endpoint if everything is running well. In that case, applications are not taking advantage of the replicas for higher volume/scalability.

Proposal

Add LoadBalance mode to providers in addition to the FailOver mode. In the LoadBalance mode, the provider will distribute traffic evenly to all replicas (including auto-discovered ones if not disabled).

  • The FailOver mode remains the default, but users can opt-in to the LoadBalance mode.
  • The FailOver still occurs even under LoadBalance mode.

Tasks

cc: @drago-draganov @jimmyca15

@zhenlan zhenlan added the enhancement New feature or request label Feb 1, 2024
@RichardChen820
Copy link
Contributor

Do we treat all replicas (including user-provided and auto-discovered) evenly? Just round-robin between them when LoadBalance is enabled.

@zhenlan
Copy link
Contributor Author

zhenlan commented Feb 2, 2024

Do we treat all replicas (including user-provided and auto-discovered) evenly?

Yes, but users can disable replica auto-discovery.

Just round-robin between them when LoadBalance is enabled.

There could be other strategies. I'll leave this to later discussions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

2 participants