Feature Characteristics
Business Transparent Access
In the original master-slave node mode, the main UDB node and each slave node have a separate connection address. Users need to individually configure each address in their business program to be able to send write requests to the main UDB node and read requests to the slave nodes.
UDB's database proxy middleware integrates multiple master and slave nodes into a cluster. By providing an additional proxy middleware address, read and write operations can be performed on the affiliated master and slave nodes. The forwarding logic of the read and write statements is completely transparent to the business, allowing the business system to easily take advantage of read-write separation without the need for reform.
Flexible and Dynamic Scalability
Compared to the single-node deployment mode of open-source read-write separation middleware in the industry, UDB's Read-Write Separation Proxy is dynamically scalable, allowing different numbers of nodes or up and downgrading machine configurations to meet business needs. Additionally, it uses the distributed load balancing product ULB for load balancing and disaster recovery, making the entire system more robust and stable.
Multiple Read Weight Distribution Strategies
With a single click on the console, the read-write separation function can be activated or released. Four types of read weight distribution strategies are provided for clients to flexibly choose and configure based on business needs. These four modes are:
-
Master-slave balance: Read requests are evenly distributed to the master and slave libraries;
-
Master-based: Read requests are only sent to the master library, and no requests are sent to the slave library;
-
Slave balance: Read requests are evenly distributed to all slave libraries, but not distributed to the master library;
-
Customized: Clients customize the distribution ratio of read requests.
SQL Throttling
After using the database proxy, you can enable the SQL throttling feature, which can be flexibly configured on the page according to business needs. SQL throttling can control the number of requests for time-consuming SQL, ensuring that database services will not degrade performance due to excessive time-consuming SQL.
Automatic Fault Tolerance
The database proxy performs a health check on all nodes of its master-slave replication cluster. When it detects that the master node is unavailable, it will refuse to write requests and system commands sent to the master node, etc. When it detects that the slave node is unavailable or that the data delay with the master node exceeds the threshold (this threshold can be configured), it will eliminate the unavailable slave node from the distribution target list until the slave node recovers or the data delay is below the threshold before re-adding it to the distribution target list.
A MySQL Cluster Supports the Creation of Multiple Proxies
To ensure that various businesses will not affect the normal operation of other businesses due to the occupation of a lot of resources by one party, multiple proxies are created in the same MySQL cluster to achieve isolation and management between businesses. In this way, we can effectively optimize the performance and scalability of the system and ensure fairness in resource utilization for each business.
At the same time, the use of multiple proxies can also improve the scalability of the system. When business demand increases, we can simply add new proxies to handle additional loads without the need to expand the entire cluster. This flexibility and scalability can effectively meet the needs of different businesses, ensuring the stability and reliability of the system.