一图比较 MySQL 四种复制模式

一句话总结
异步复制:master完全不管slave是否接受成功,直接commit并ack;
半同步复制:master先内部commit,然后等slave接收binlog成功ack后,向客户端ack;
增强半同步复制:master先等slave接收binlog成功ack后,再commit,然后向客户端ack;
组复制:支持多主和单主模式,事务先通过Paxos协议保证全局顺序后,各节点就可以独立地进行后续事务提交了。
附录
这里多提一嘴 组复制 。组复制的思想是:如果所有的事务可以保证在各个节点以相同的顺序执行,那么就可以保证各个节点上的数据一致性。
组复制的核心就是Paxos算法。相信很多人去查Paxos算法时会看到一句话:Paxos算法可以在分布式系统中唯一确定一个值。
那么这个唯一确定一个值是怎么实现MySQL的全局排序的?可以看下 微信后台团队 公众号的这篇文章:微信自研生产级paxos类库PhxPaxos实现原理介绍