PhxSQL 介绍
Phxsql是一个兼容MysqL、服务高可用、数据强一致的关系型数据库集群。Phxsql以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。
Phxsql 架构:
Phxsql基于Percona 5.6开发。Percona是MysqL的一个分支,功能和实现与MysqL基本一致。因此本文后续直接把MysqL作为讨论对象。
总览:
-
服务高可用:Phxsql集群内只要多数派节点存活就能正常提供服务;出于性能的考虑,集群会选举出一个Master节点负责写入操作;当Master失效,会自动重新选举新的Master。
-
运维简单:Phxsql集群内机器出现短时间故障,能自动恢复数据,无需复杂的运维操作;Phxsql更提供一键更换(新增/删除)集群内的机器,简化运维的工作。
-
MysqL完全兼容:Phxsql是基于Percona的研发,完全兼容MysqL的操作命令。 可通过MysqL提供的MysqLclient/perconaserverclient直接操作Phxsql。
Phxsql
依赖于腾讯微信团队的另外几个开源项目:PhxRPC、Libco
以及 PhxPaxos。
作者:Junchao Chen ([email protected]), Haochuan Cui ([email protected]),
Duokai Huang ([email protected]), Ming Chen ([email protected]) 和
Sifan Liu ([email protected])