Proxy Server Database Failover Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing large-scale messaging systems face challenges in implementing individual database failover and switchover, leading to outages when a single database fails, as they often retain characteristics of single-server solutions, making it difficult to provide high availability and rapid recovery.
Innovation Solution
A proxy server is introduced to facilitate database failover and switchover by detecting failures, activating redundant systems, and redirecting clients, while maintaining state and configuration information separately to ensure rapid recovery and minimal service disruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single database fails in existing large-scale messaging systems, then database recovery is needed, but service outage occurs for all databases associated with the failed server
Solution Approach 1:
The patent segments the coupling between servers and databases by introducing a proxy server layer. Instead of direct server-database associations, the proxy server mediates all connections, allowing individual databases to be managed independently. This segmentation enables failover of single databases without affecting other databases or requiring full server redundancy.
Solution Approach 2:
The proxy server acts as an intermediary between clients and actual database servers. It maintains state information about which databases are active and on which servers, and redirects client connections accordingly. This intermediary layer decouples the client from the physical database location, enabling seamless failover and switchover operations.
2Reliability
If DNS propagation is used for database failover, then server redundancy is achieved, but failover time takes hours or days
Solution Approach 1:
The proxy server performs preliminary actions by maintaining up-to-date state information about database locations and availability. Before failover is needed, the system already has knowledge of redundant database instances and their locations. When failover is required, the proxy server can immediately redirect connections without waiting for DNS propagation.
Solution Approach 2:
The system uses dynamic connection routing through the proxy server, which can change connection targets in real-time based on database availability. Unlike static DNS records that require propagation delays, the proxy server dynamically updates connection information client-side, enabling immediate failover response.
Data Source
AI summary
High availability architecture that employs a mid-tier proxy server to route client communications to active data store instances in response to failover and switchover. The proxy server includes an active manager client that interfaces to an active manager in each of the backend servers. State information and configuration information are maintained separately and according to semantics consistent with needs of corresponding data, the configuration information changing less frequently and more available, the state information changing more frequently and less available. The active manager indicates to the proxy server which of the data storage instances is the currently the active instance. In the event that the currently active instance is inactive, the proxy server selects a different backend server that currently hosts the active data store instance. Client communications are then routed to the different backend server with minimal or no interruption to the client.


