多机状态拷贝类库 PhxPaxos

BSD
C/C++ 查看源码»
跨平台
腾讯
2016-06-28
花仲马

PhxPaxos是腾讯公司微信后台团队自主研发的一套基于Paxos协议的多机状态拷贝类库。它以库函数的方式嵌入到开发者的代码当中, 使得一些单机状态服务可以扩展到多机器,从而获得强一致性的多副本以及自动容灾的特性。 这个类库在微信服务里面经过一系列的工程验证,并且我们对它进行过大量的恶劣环境下的测试,使其在一致性的保证上更为健壮。

特性

  • 基于Lamport的 Paxos Made Simple 进行工程化,不进行任何算法变种。

  • 使用基于消息传递机制的纯异步工程架构。

  • 每次写盘使用fsync严格保证正确性。

  • 一次Propose(写入数据)的Latency为一次RTT,均摊单机写盘次数为1次。

  • 使用点对点流式协议进行快速学习。

  • 支持Checkpoint以及对PaxosLog的自动清理。

  • 支持跨机器的Checkpoint自动拉取。

  • 一个PhxPaxos实例可以同时挂载多个状态机。

  • 可使用镜像状态机模式进行Checkpoint的自动生成。

  • 内置Master选举功能。

  • 线上数据的实时增量checksum校验。

  • 网络、存储、监控、日志模块插件化,可由开发者自定义。

局限

  • 一个PhxPaxos实例任一时刻只允许运行在单一进程(容许多线程)。

  • 这个类库没有内建对client-server的支持,开发者必须将类库的代码嵌入到自己的服务器代码里面,以实现这个功能。

  • PhxPaxos只容许运行在64位的Linux平台。

的码云指数为
超过 的项目
加载中

评论(2)

taohe
taohe
墙裂支持 #PhxPaxos#
itfanr
itfanr
好东西 #PhxPaxos#

暂无资讯

暂无问答

PhxPaxos源码分析:网络

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:LBD 了解分布式系统的童鞋肯定听过Paxos算法的大名。Paxos算法以晦涩难懂著称,其工程实现更难。目前,号称在工程上实现了P...

2017/11/22 16:16
54
1
【 开源公告 】 Android 轻应用开发组件 RapidView 正式开源

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯开源 RapidView RapidView是一套用于开发Android客户端界面、逻辑以及功能的开发组件。布局文件(XML)及逻辑文件(Lua)可...

2017/11/24 16:06
61
0
大数据利器2018版

类别 名称 (可重点关注加粗部分) 官网 备注 查询引擎 Phoenix https://phoenix.apache.org/ Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写 Presto http://pres...

2018/12/29 15:51
22
0
分布式理论:深入浅出Paxos算法

前言 Paxos算法是用来解决分布式系统中,如何就某个值达成一致的算法。它晦涩难懂的程度完全可以跟它的重要程度相匹敌。目前关于paxos算法的介绍已经非常多,但却很少有人能对P2c提出自己的见...

2018/12/24 16:01
3
0
分布式理论:深入浅出Paxos算法

前言 Paxos算法是用来解决分布式系统中,如何就某个值达成一致的算法。它晦涩难懂的程度完全可以跟它的重要程度相匹敌。目前关于paxos算法的介绍已经非常多,但大多数是和稀泥式的人云亦云,...

2018/12/23 21:12
3K
8
一致性协议算法-------------Paxos算法

Paxos算法基本原理

2016/02/24 18:44
246
1
实用高效,27款腾讯热门开源项目推荐

腾讯作为互联网行业的一大巨头,一直都不吝啬将好的技术开放,与广大开发者共享,未来也将推出VR开放平台和AI技术。腾讯在全球合作伙伴大会披露了未来五年的发展思路,在技术共享方面,腾讯希...

2016/10/19 07:11
14.5K
39

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部