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

Slow start mode for Ring-hash load balancer #37484

Open
leosarra opened this issue Dec 3, 2024 · 3 comments
Open

Slow start mode for Ring-hash load balancer #37484

leosarra opened this issue Dec 3, 2024 · 3 comments
Labels
area/load balancing enhancement Feature requests. Not bugs or questions.

Comments

@leosarra
Copy link
Contributor

leosarra commented Dec 3, 2024

Title: Implement "Slow Start mode" for "RING_HASH" Load Balancer in Istio/Envoy

Description:

I would like to propose an improvement to the load balancer behavior to support a 'slow start mode' for the ring-hash load balancer configuration.

Currently, the "least request/RR" load balancing strategy supports a "slow start up" feature, which is beneficial for warming up Java microservices before they begin serving requests at full capacity. This mechanism is especially useful during scale-out operations, as it prevents new instances from being overwhelmed by traffic immediately upon startup.

We find the ring-hash load balancing strategy especially useful to direct similar queries to the same instance, ensuring efficient cache utilization. However, the absence of a "slow start mode" result in new instances receiving a disproportionate amount of traffic, leading to request rejections and triggering Istio's outlier detection mechanism, which removes these instances from the pool.

In the original design document, here, it was mentioned that introducing periodic rebalancing was a prerequisite for potentially introducing a slow start mode in the hashing-based LB.

Is there any plan at the moment to bring a slow start mode for the ring hash load balancing strategy?

Relevant Links:

@leosarra leosarra added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Dec 3, 2024
@tsaarni
Copy link
Member

tsaarni commented Dec 3, 2024

@nezdolik I was wondering if you might know if anyone has worked towards this or if you have any other pointers?

@ggreenway ggreenway added area/load balancing and removed triage Issue requires triage labels Dec 3, 2024
Copy link

github-actions bot commented Jan 2, 2025

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

@github-actions github-actions bot added stale stalebot believes this issue/PR has not been touched recently and removed stale stalebot believes this issue/PR has not been touched recently labels Jan 2, 2025
@nezdolik
Copy link
Member

nezdolik commented Jan 8, 2025

As far as i know, no one has worked on supporting slow start for Ring Hash. Having low capacity at the moment due to other initiatives, but if anyone is interested to give it a try I will help out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/load balancing enhancement Feature requests. Not bugs or questions.
Projects
None yet
Development

No branches or pull requests

4 participants