资源说明:PhxPaxos是腾讯公司微信后台团队自主研发的一套基于Paxos协议的多机状态拷贝类库。它以库函数的方式嵌入到开发者的代码当中, 使得一些单机状态服务可以扩展到多机器,从而获得强一致性的多副本以及自动容灾的特性。 这个类库在微信服务里面经过一系列的工程验证,并且我们对它进行过大量的恶劣环境下的测试,使其在一致性的保证上更为健壮。特性基于Lamport的 Paxos Made Simple 进行工程化,不进行任何算法变种。使用基于消息传递机制的纯异步工程架构。每次写盘使用fsync严格保证正确性。一次Propose(写入数据)的Latency为一次RTT,均摊单机写盘次数为1次。使用点对点流式协议进行快速学习。支持Checkpoint以及对PaxosLog的自动清理。支持跨机器的Checkpoint自动拉取。一个PhxPaxos实例可以同时挂载多个状态机。可使用镜像状态机模式进行Checkpoint的自动生成。内置Master选举功能。线上数据的实时增量checksum校验。网络、存储、监控、日志模块插件化,可由开发者自定义。局限一个PhxPaxos实例任一时刻只允许运行在单一进程(容许多线程)。这个类库没有内建对client-server的支持,开发者必须将类库的代码嵌入到自己的服务器代码里面,以实现这个功能。PhxPaxos只容许运行在64位的Linux平台。
标签:PhxPaxos
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。