PhxSQL是一个兼容mysql、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。
PhxSQL基于Percona 5.6开发。Percona是MySQL的一个分支,功能和实现与MySQL基本一致(腾云科技TY300.COM)。因此本文后续直接把MySQL作为讨论对象。
MySQL半同步复制存在缺陷,在Master进行切换的场景下,数据难以保证一致。
当旧Master复制失败时,旧Master和Updated Slave(已收到Binlog的Slave)需要回滚数据。
当Master进行切换时,旧Master仍有部分Client进行读写。
关于MySQL半同步复制的数据一致性问题可查看微信后台团队公众号文章MySQL半同步复制的数据一致性探讨。
PhxSQL的设计是为了解决MySQL半同步复制的不足(勤快学菜鸟教程QKXue.NET),使MySQL集群在Master切换过程中保证数据的一致。
更多PhxSQL 教程:兼容MySQL的数据库集群,请点这里
时间: 2024-10-11 17:47:26