Fault Tolerant Load Balancer Recovery via SVSI Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed systems face challenges in managing traffic and ensuring high availability of Virtual Computing Environment (VCE) load balancers, particularly in cloud-based environments, where failures can lead to service disruptions and require manual intervention for recovery.
Innovation Solution
A method and system that partitions VCE load balancers among Service Virtual Server Instances (SVSIs) across multiple regions, enabling periodic polling, monitoring, automatic recovery from failures, and elastic scaling based on load, with a consensus protocol like Paxos for fault-tolerant operation and consistent hashing for load balancer partitioning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual intervention is used for load balancer recovery, then system complexity is reduced, but service availability and reliability deteriorate
Solution Approach 1:
The system implements automated self-healing capabilities where the load balancer manager automatically detects failures, initiates recovery procedures, and restores service without manual intervention. The manager monitors the health of load balancers and autonomously responds to failures by spinning up replacement instances or redistributing traffic, thereby maintaining high availability while eliminating the need for human operators to intervene in recovery processes.
2Reliability
If load balancer capacity is increased to handle peak loads, then service reliability improves, but resource waste occurs during low-utilization periods
Solution Approach 1:
The system implements dynamic capacity adjustment where the load balancer manager continuously monitors traffic patterns and automatically scales load balancer resources up or down based on actual demand. During peak periods, additional capacity is provisioned to handle increased traffic and maintain service reliability. During low-utilization periods, resources are automatically reduced or terminated, eliminating waste while ensuring capacity is available when needed.
Solution Approach 2:
The system changes operational parameters dynamically by adjusting the number and configuration of load balancer instances based on monitored performance metrics and traffic conditions. The manager modifies system parameters such as instance count, resource allocation, and deployment configuration in response to changing load conditions, thereby optimizing the balance between service reliability and resource utilization efficiency.
3Productivity
If load balancer failures are not automatically recovered, then system complexity is reduced, but traffic loss and service disruption occur
Solution Approach 1:
The system implements a feedback-driven automated recovery mechanism where the load balancer manager continuously monitors the health and status of load balancer instances. When a failure is detected through health checks or traffic anomalies, the manager receives feedback about the failure condition and automatically initiates appropriate recovery actions such as spinning up replacement instances, redistributing traffic to healthy instances, or alerting operational systems. This closed-loop feedback system ensures traffic flow continuity while automating the complexity of monitoring and recovery procedures.
Data Source
AI summary
Managing traffic on a distributed system includes partitioning VCE load balancers of the distributed system among service virtual server instances (SVSIs) of the distributed system, each service virtual server instance (SVSI) being identical in function and deployed across two or more regions of the distributed system. The method further includes: periodically polling, by each SVSI each other of the SVSIs; monitoring, by each SVSI, a load on each VCE load balancer for which it is responsible, resulting in a monitored load; recovering, by an SVSI from a failure of VCE load balancer(s) for which it is responsible; automatically adjusting, by an SVSI a capacity of a VCE load balancer for which it is responsible based on a corresponding monitored load; and repartitioning, by the distributed system, in response to an SVSI failure, the VCE load balancers among remaining SVSIs.


