分布式MySQL数据库服务PhxSQL

本文介绍了微信后台团队的PhxSQL,一款具备强一致性和高可用性的分布式数据库服务。PhxSQL基于Paxos协议,兼容MySQL,提供服务高可用、数据同步和运维便利性。对比了阿里AliSQL,PhxSQL在企业高可用场景中更具实用性。
摘要由CSDN通过智能技术生成

一、PhxSQL简介

PhxSQL是由微信后台团队自主研发的一款数据强一致、服务高可用的分布式数据库服务。PhxSQL提供Zookeeper级别的强一致和高可用,完全兼容MySQL。源码地址
PhxSQL具有服务高可用、数据强一致、高性能、运维简单、和MySQL完全兼容的特点。

  • 服务高可用:PhxSQL集群内只要多数派节点存活就能正常提供服务;出于性能的考虑,集群会选举出一个Master节点负责写入操作;当Master失效,会自动重新选举新的Master。
  • 数据强一致:PhxSQL采用多节点冗余部署,在多个节点之间采用paxos协议同步流水,保证了集群内各节点数据的强一致。
  • 高性能:PhxSQL比MySQL SemiSync的写性能更好,得益于Paxos协议比SemiSync协议更加高效;
  • 运维简单:PhxSQL集群内机器出现短时间故障,能自动恢复数据,无需复杂的运维操作;PhxSQL更提供一键更换(新增/删除)集群内的机器,简化运维的工作。
  • MySQL完全兼容:PhxSQL是基于Percona的研发,完全兼容MySQL的操作命令。 可通过MySQL提供的mysqlclient/perconaserverclient直接操作PhxSQL。
  • 项目中包含PhxSQL源代码,源代码编译时所需要的一些第三方库,及可直接在Linux环境下运行的二进制包。其中代码使用到了微信团队自研的另外三个开源项目(phxpaxos,phxrpc,colib)。若需编译源代码,需额外下载,也可以在clone时通过--recurse-submodule获得代码。

二、项目开源地址

phxpaxos项目地址: http://github.com/Tencent/phxpaxos

phxrpc项目地址: http://github.com/Tencent/phxrpc

colib项目地址: http://github.com/Tencent/libco

三、MySQL分布式服务实现方案

  • AliSQL是MySQL的一个分支,通过对MySQL进行优化(侵入到MySQL内部,内核级开发),对数据库作了功能及性能上的优化。项目地址:https://github.com/alibaba/AliSQL
  • PhxSQL是使用分布式协议paxos写了一个binlog同步的插件,它解决了数据一致性的问题,保证多节点的MySQL使用该插件同步binlog可以达到binlog的强一致性。保证数据库的高可用和强一致的同时,对MySQL的侵入性较小。

    显而易见,对于电商项目,阿里的AliSQL是一个不错的选择;对于企业高可用项目,腾讯的PhxSQL实用性会更高一点。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值