PhxSQL 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
PhxSQL 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
PhxSQL 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

PhxSQL是一个兼容MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL以单Master多Slave方式部署,在集群内超过一半机器存活的情况下,可自身实现自动Master切换,且保证数据一致性。  

PhxSQL 架构:

PhxSQL基于Percona 5.6开发。Percona是MySQL的一个分支,功能和实现与MySQL基本一致。因此本文后续直接把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 依赖于腾讯微信团队的另外几个开源项目:PhxRPCLibco 以及 PhxPaxos

作者:Junchao Chen (junechen@tencent.com), Haochuan Cui (lynncui@tencent.com), Duokai Huang (mariohuang@tencent.com), Ming Chen (mingchen@tencent.com) 和 Sifan Liu (stephenliu@tencent.com)

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (7)

加载中
Mark
2019/06/26 22:16
回复
举报
mark
2017/11/30 12:50
回复
举报
打分: 力荐
非常好的方案。
2017/04/13 17:43
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
该评论暂时无法显示,详情咨询 QQ 群:912889742
该评论暂时无法显示,详情咨询 QQ 群:912889742
该评论暂时无法显示,详情咨询 QQ 群:912889742
更多评论
发表了资讯
2016/08/31 00:00

微信开源 PhxSQL:高可用强一致的 MySQL 集群

昨日,微信后台团队宣布其开源了 PhxSQL 项目,并将项目托管到 Github 上。 PhxSQL 是一个兼容 MySQL、服务高可用、数据强一致的关系型数据库集群。PhxSQL 以单 Master 多 Slave 方式部署,在集群内超过一半机器存活的情况下,可自身实现自动 Master 切换,且保证数据一致性。PhxSQL 基于 Percona 5.6 开发。Percona 是 MySQL 的一个分支,功能和实现与 MySQL 基本一致。 PhxSQL 架构:...

25
155
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/11/17 23:23

从mysql主从复制到微信开源的phxsql

严格的来说,微信开源的phxsql不是数据库,而是一个数据库的插件; 传统的互联网数据库结构一般是这样的: 服务访问数据库是通过分片来的: 除了这种基于hash的分片,还有一种基于range的分片方式 通常,基于range的分片场景下会引入一个新的服务来保存range分片的元信息,列如etcd: 数据库连接是这样进行的: 第1步, 先监控etcd服务上的range信息变化; 第2步, 读取etcd服务上的range信息; 第3步, 接收到sql请求,解析sql语句,根据分片...

0
0
发表了博客
2018/11/20 16:52

mysql主从复制原理

MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。 mysql 主(称 master)从(称 slave)复制的原理: 1、 master 将数据改变记录到二进制日志(binary log)中,也即是配置文件 log-bin 指定的文件(这些记录叫做二进制日志事件,binary log events) 2、 slave 将...

0
0
发表了博客
2018/05/25 11:26

腾讯,排行前10的开源项目

1、Tars Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++和Java两种语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速开发、部署、测试、上线。 它集可扩展协议编解码、高性能RPC通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳定可靠的分布式应用,...

0
0
2020/06/08 19:32

腾讯,排行前10的开源项目

1、Tars Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++和Java两种语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速开发、部署、测试、上线。 它集可扩展协议编解码、高性能RPC通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳定可靠的分布式应用,...

0
0
发表了博客
2018/02/06 09:55

Connection is read-only. Queries leading to data modification are not allowed

看了下mysql-connector-5.1.40版本中,如果设置failoverReadOnly=true (即默认值,参考链接),当mysql连接failover时,会根据jdbc连接串将当前连接的readOnly值设置为true (第8行代码) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 private synchronized void switchCurrentConnectionTo(int hostIndex, MySQLConnection connection) throws SQLException { invalidateCurrentConnection(); boolean readOnly; if (isPrima...

0
0
发表了博客
2018/12/28 10:40

SQL Server数据同步的研究(单向/双向)

思路: 1、做中间件(简单:定时采集;复杂:分布式,订阅中心的形式,如微信的中间件:https://github.com/tencent-wechat/phxsql) 2、采用触发器的形式,有数据触发是进行多服务器的来回数据分发。 3、基于计划任务的形式触发存储过程进行同步,和定时任务差不多 4、采用SQL Server的发布订阅功能(注意,经过测试这个是可以连接外网的;技巧:通过SQL Server配置管理器新建别名为外网机器的计算机名+IP+端口,然后就和内网一...

0
0
发表了博客
2018/06/16 17:53

activemq的启动方式

  一、简介:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。   二、其他常用的jms的消息队列:当前使用较多的消息队列有RabbitMQ、RocketMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。   三、这里重...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2016/09/18 17:52

看其架构图上提到,所有的读写请求全部转到master。难道slave不可以协助处理读吗?

看其架构图上提到,所有的读写请求全部转到master。难道slave不可以协助处理读吗?

13
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
7 评论
229 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部