Load Rebalancing via Early Close Keep-Alive Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network-based services, some endpoints become overloaded due to varying client requests, leading to imbalanced loads and longer wait times for clients, as existing load balancing mechanisms fail to effectively redistribute workload from overloaded endpoints.
Innovation Solution
Implementing a load shedding mechanism that identifies overloaded endpoints and reassigned client keep-alive connections to different endpoints using a non-disruptive early close request, allowing the endpoint selection mechanism to rebalance the load and prevent endpoint hardware failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional load balancers distribute client traffic among nodes using techniques like round robin or least connections, then traffic distribution is achieved, but endpoints still become overloaded due to varying client request patterns and keep-alive connections
Solution Approach 1:
The system continuously monitors endpoint load metrics including active connection counts, request rates, and response times. Based on this feedback, the load balancer dynamically adjusts traffic distribution in real-time, shifting connections away from overloaded endpoints to underutilized ones, thereby preventing endpoint overload while maintaining efficient traffic distribution
Solution Approach 2:
The load balancing approach transitions from static algorithms like round robin to dynamic load-based distribution. The system continuously adapts traffic routing decisions based on current endpoint conditions, adjusting the weighting and selection of endpoints in real-time to reflect actual load states, ensuring both efficient distribution and reliable load balancing
2Reliability
If load balancers terminate and restart client connections to redistribute traffic, then workload can be shifted from overloaded endpoints, but this disrupts client connections and increases wait times
Solution Approach 1:
The load balancer acts as an intermediary that maintains client connections while dynamically routing traffic to different endpoints. Instead of terminating connections, it proxies requests through the connection to appropriate endpoints, enabling load redistribution without disrupting the client's connection state or increasing wait times
Solution Approach 2:
The system proactively monitors endpoint load conditions and begins redistributing traffic before endpoints become overloaded. By detecting early signs of overload and preemptively shifting connections, the system prevents overload conditions from developing, eliminating the need for disruptive connection terminations and avoiding increased client wait times
3Productivity
If multiple load balancers are deployed to handle large-scale services, then client traffic capacity increases, but the complexity of load rebalancing across load balancers and endpoints increases
Solution Approach 1:
The load balancing system is segmented into hierarchical layers with each load balancer managing its own set of endpoints independently. Each load balancer implements autonomous load monitoring and traffic distribution logic, allowing the system to scale to multiple load balancers without requiring centralized coordination, thereby increasing traffic capacity while managing complexity through modular decomposition
Data Source
AI summary
A load shedding mechanism and an endpoint selection mechanism may be used to rebalance loads of endpoints of a network-based service. The load shedding mechanism may monitor health information of one or more endpoints and determine whether to perform a load shedding operation based on the health information. In response to determining to perform the load shedding operation for a selected endpoint, the load shedding mechanism may, prior to a client close request for a keep-alive connection of the selected endpoint, trigger an early close of the keep-alive connection. In response to a corresponding client attempting to reconnect based at least in part on the early close, the endpoint selection mechanism may select another endpoint to form a keep-alive connection with the client.


