Title: Introduce Weighted Node Selection for Gradual Traffic Ramp-Up #64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This MR replaces the existing random node selection strategy with a weighted selection strategy to ensure a smoother ramp-up for new service instances.
Key Changes:
Introduced a weight parameter in ServiceNode, which starts low and gradually increases based on the uptime of the service.
Implemented asigmoid-based weight function, ensuring a slow initial ramp-up that eventually converges to 1.
Replaced the random selection strategy with a probabilistic weighted selection, where instances with higher uptime (and weight) have a higher chance of being picked.
Ensures new instances take reduced traffic initially, reducing the risk of overload on cold-started services.
Why This Change?
Prevents sudden traffic spikes on new instances.
Helps in gracefully warming up services before full exposure.