MySQL semi-sync cluster fault tolerance
By default, a MySQL semi-sync Managed Database cluster consists of one master node. To ensure cluster fault tolerance, you need to add replicas to it. In multi-node clusters, one node acts as the master node, and the others as replicas.
For example, if you have created a three-node cluster, the cluster will have one master node and two replicas. If you add more nodes, they will be replicas.
When adding replicas, consider the node allocation type in the cluster.
Master node
By default, a cluster consists of one main node, the master node. When connected to the master node, all operations are available: reading (SELECT) and writing (INSERT, UPDATE, DELETE and others).
All data changes on the master node are replicated to the replicas. The replication process does not affect the performance of the replicas or the master node.
Replicas
Replicas are full copies of the master node. They are available only for reading data (SELECT).
The presence of replicas in the cluster ensures its fault tolerance — if the master node stops working, its role will be taken over by one of the replicas, and the cluster will continue to operate normally. Once the master node is restored, it will take on the role of a replica. In this case, the master node address will change.
An SLA applies to the cluster with replicas — we guarantee 99.95% write availability and 99.99% read availability.
If there are no replicas in the cluster, it will be unavailable until the master node is restored. Data will not be lost.
We recommend creating fault-tolerant clusters with replicas or adding replicas to existing clusters.
Node placement type
The node placement type in a cluster depends on:
- whether there are replicas in the cluster;
- the type of pool where the cluster is located;
- the number of segments in the pool;
- configuration line.
You can view the list of pools and segments in the Servercore Infrastructure table in the Locations: countries, regions, availability zones, pools, and data center addresses instruction.
There are four available node placement types:
- Single-Segment;
- Multi-Segment;
- Single-AZ;
- Multi-AZ.
Single-Segment
Multi-Segment
Single-AZ
Multi-AZ
nodes are placed in one segment of a single-AZ pool.applicable to:
- for clusters without replicas;
- clusters with replicas located in pools with only one segment;
- clusters with replicas in the HighFreq and Dedicated configuration lines.
For example, you have created a three-node cluster (one master node and two replicas) in a HighFreq configuration in the ru-2 pool.All nodes will be placed in one pool segment, for example, in ru-2c.
Changing the number of replicas
You can increase or decrease the number of replicas. The cluster continues to work while the number of replicas is changed.
- In the Dashboard, from the top menu, click Products and select Managed Databases.
- Open the Active tab.
- Open the cluster page → Settings tab.
- Click Change configuration.
- In the Fault tolerance block in the Number of nodes field, specify the new number of replicas.If there are no free addresses available in the subnet that the cluster is connected to, a replica cannot be added — each new replica occupies a new address in the subnet.
- Click Save.