RDBMS High Availability via Internal Load Balancer and HTTP Probes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Ensuring high availability for a Relational Database Management System (RDBMS) as a service in a cloud-based computing environment is challenging due to the difficulty in meeting stringent availability standards using traditional approaches.
Innovation Solution
A system comprising a master RDBMS Virtual Machine node, a standby RDBMS Virtual Machine node, and multiple controller VM nodes, with an internal load balancer and HTTP custom probe to manage failovers and ensure continuous service availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional approaches are used for RDBMS availability, then system simplicity is maintained, but availability standards cannot be met
Solution Approach 1:
The system is segmented into multiple independent virtual machine nodes (master RDBMS VM node, standby RDBMS VM node, and n controller VM nodes), each with specific functions. This segmentation allows the system to achieve high availability through redundancy while maintaining manageable complexity by distributing functions across separate components rather than implementing complexity within a single monolithic system.
Solution Approach 2:
Controller VM nodes act as intermediaries between the master/standby RDBMS VM nodes and cloud applications. These intermediary controllers manage failover operations, health monitoring, and load balancing, thereby achieving high availability without requiring direct complex interactions between all system components.
2Reliability
If manual failover management is used, then system complexity is reduced, but service continuity cannot be ensured
Solution Approach 1:
The system implements automated health monitoring where controller VM nodes continuously probe master and standby RDBMS VM nodes to detect their operational status. This feedback mechanism enables automatic detection of failures and triggers automated failover operations, ensuring service continuity without requiring manual intervention while maintaining manageable automation complexity.
Solution Approach 2:
The failover system operates autonomously through self-service mechanisms where controller nodes automatically detect failures, initiate failover procedures, and update load balancer configurations without human intervention. This automation ensures continuous service availability while the modular design keeps the automation logic manageable and maintainable.
3Reliability
If IP address changes during failover are implemented, then service continuity is improved, but network complexity increases
Solution Approach 1:
The load balancer serves as an intermediary that abstracts away IP address management complexity from applications. During failover, the load balancer updates its backend pool configuration to point to the new active RDBMS VM node, while applications continue to use the same frontend IP address. This intermediary approach maintains service availability without requiring applications to handle IP address changes, thereby managing network configuration complexity.
Data Source
AI summary
A Relational Database Management System (“RDBMS”) as a service cluster may including a master RDBMS Virtual Machine (“VM”) node associated with an Internet Protocol (“IP”) address and a standby RDBMS VM node associated with an IP address. The RDBMS as a service (e.g., PostgreSQL as a service) may also include n controller VM nodes each associated with an IP address. An internal load balancer may receive requests from cloud applications and include a frontend IP address different than the RDBMS IP as a service addresses and a backend pool including indications of the master RDBMS VM node and the standby RDBMS VM node. A Hyper-Text Transfer Protocol (“HTTP”) custom probe may transmit requests for the health of the master RDBMS VM node and the standby RDBMS VM node via the associated IP addresses, and responses to the requests may be used in connection with a failover operation.


