MySQL 自身是个有状态的东西,它的高可用真心不是很多人想的那么简单。当然,如果你的业务对丢数据不敏感,也可以直接把一些无状态的手法往上套,这样下面的内容也就不用看了。
group replication 的底层实现依赖 paxos,而这玩意只是分布式共识协议。想用它做高可用,需要在其上做一系列的判断和调度。 普通的主从复制,如果丢数据啥的无所谓,可以上。不过依然需要有一些列计算来判断主实例的好坏。 其它还有一个更坑的半同步,这玩意是听起来简单,实际坑巨多。作为一个被坑得体无完肤的过来人,建议直接上 group replication。