Currently I have 2 data centers and mariaDB master-master semi-sync replication will be employed to synchronize data between 2 sites.
In order to improve local availability, we are planned to deploy one more mariaDB in each site to form a master-slave replication. ie Cross-site replication is master-master replication, while local replication is master-slave replication
I would like to know if this topology makes sense and technically feasible to do.
Can mariaDB support mixed-mode of replication at the same time?
No you can't have partial asynchronous master slave and semi-sync on the same server.
I recommend moving to either Galera (3 sites recommended to alleviate split brain or devise an alternative resolution);
Or multi-master all-(server)-to-all-(other-servers) replication (without log-slave-updates).
A Master can have any number of Slaves; those slaves can be either local to the Master's datacenter, or remote. One of those "Slaves" can be another Master, thereby giving you "dual-Maser".
For Dual-Master, I recommend writing to only one of them (until a failover).
These are partial HA solutions: * Replication * Dual-Master * Semi-sync * Using only 2 datacenters
Galera (and soon, Group Replication) are better than any combination of the above. But for good HA, you need 3 geographically separate datacenters (think flood, tornados, etc)
I am not familiar with a restriction against async + semi-sync on the same server.
Be aware that every Slave must perform every write operation, so a Slave is not necessarily less busy than a Master. However, having more than one server for "reads" does spread out the read load.
For Galera, 3 nodes is recommended. 4 or 5 is OK; more than 5 may stress the network and the handshaking needed. Galera allows any number of Slaves hanging off each 'node'.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.