PhxSQL是一个兼容MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。
相比目前业界流行的MySQL高可用方案,PhxSQL有三个优势:
-
不少MySQL高可用方案只实现了高可用,不保证数据强一致;PhxSQL完美地同时满足了高可用和强一致;在主备数据一致性上,PhxSQL达到了和zookeeper同样的级别;
-
PhxSQL的高可用方案不依赖zookeeper这类第三方选主服务,对比其他的高可用方案在部署上更加简单;
-
完全兼容MySQL,已有的MySQL应用程序完全不需要做任何的修改就能迁移到PhxSQL。
本文以PPT的形式来阐述一下PhxSQL的设计与实现。从MySQL的容灾缺陷开始讲起,接着阐述实现高可用强一致方案的思路,然后具体分析每个实现环节要注意的要点和解决方案,最后展示了PhxSQL在容灾和性能上的成果。