Autonomous Database Connection Load Balancing in Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database cluster systems face performance issues due to load imbalances, where some instances become over-utilized while others are under-utilized, and existing load balancing methods are inadequate in handling unforeseen outages and imbalances without a master controller, leading to suboptimal workload placements and potential system failures.
Innovation Solution
Implementing a method for automatic connection load balancing where local instances detect and correct imbalances autonomously by computing a target for instance adjustments, redistributing connections, and using draining and planned failover techniques to manage sessions, even in the absence of a master load balancer or runtime load balancer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a master-controlled process is used to manage workload among instances, then load balancing information can be provided to avoid imbalance situations, but the system becomes vulnerable to outages and unforeseen load situations that occur after selections are made, and requires fault-handling delays when the master goes down
Solution Approach 1:
The patent divides the centralized master-controlled load balancing function into distributed autonomous load balancing agents on each instance. Each agent independently monitors its own workload and makes local decisions about accepting or rejecting connections, eliminating the single point of failure represented by the master controller while distributing the control logic across multiple independent units.
Solution Approach 2:
Each instance is equipped with an autonomous load balancing agent that self-monitors its workload metrics and self-adjusts its connection acceptance behavior without external control. The agents independently evaluate their current load state and autonomously decide whether to accept new connections or redirect them to other instances, enabling the system to adapt to changing conditions in real-time without master controller intervention.
2Productivity
If connections are redistributed to balance load across instances, then workload distribution improves, but system downtime or service interruption may occur during the redistribution process
Solution Approach 1:
The load balancing system dynamically adjusts connection routing in real-time based on current instance workload conditions. Instead of static pre-planned redistribution, the autonomous agents continuously monitor workload metrics and dynamically modify their connection acceptance decisions, allowing the system to adapt to changing load conditions without requiring scheduled maintenance windows or causing service interruptions.
Solution Approach 2:
The system performs preliminary evaluation of workload conditions before making connection redistribution decisions. Each autonomous agent assesses its current load state, projected workload trends, and the status of other instances before committing to accept or reject connections, ensuring that redistribution actions are taken only when they will improve overall balance without causing service disruption.
Data Source
AI summary
Disclosed is a method, a computer program product, and a computer system for implementing automatic connection load balancing of database connections between instances of a cluster. Load imbalances are detected globally in the cluster, and can be corrected autonomously by the local instances. The local controller/orchestrator detects the imbalance, computes a target for the instance, and makes any necessary adjustments on the instance, where a server marks the connections to redistribute, and then implements draining and/or planned failover to move sessions.


