多机状态拷贝类库 PhxPaxos

码农软件 · 软件分类 · 网络工具包 · 2019-02-25 09:43:23

软件介绍

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

特性

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

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

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

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

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

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

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

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

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

  • 内置Master选举功能。

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

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

局限

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

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

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

本文地址:https://codercto.com/soft/d/87.html

数据结构

数据结构

殷人昆 / 清华大学 / 2007-6 / 39.00元

《数据结构》(第2版)“数据结构”是计算机专业的核心课程,是从事计算机软件开发和应用人员必备的专业基础。随着计算机的日益普及,“数据结构”课程也在不断地发展。《数据结构》(第2版)按照清华大学计算机系本科“数据结构”大纲的要求,从面向对象的概念、对象类设计的风格和数据结构的层次开始,从线性结构到非线性结构,从简单到复杂,深入地讨论了各种数据结构内在的逻辑关系及其在计算机中的实现方式和使用。此外,对......一起来看看 《数据结构》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具