phxpaxos源码分析
文章平均质量分 70
腾讯paxos开源库代码分析
G1036583997
这个作者很懒,什么都没留下…
展开
-
Paxos理论介绍(1)
本文转载自微信后台团队文章,连接地址 https://mp.weixin.qq.com/s/eeJXS5rBA9mXpSJaTNjF-Q这篇文章摘取部分我在微信内部关于Paxos的分享PPT,通过注解的方式尝试与大家说明白朴素Paxos的理论证明。为何要重点说朴素的Paxos?个人认为这个才是Paxos的精髓所在,也是所有Paxos相关算法的基石所在。另外本文将着重讲解Paxos的算法推导...转载 2018-05-31 15:11:09 · 1068 阅读 · 0 评论 -
Paxos理论介绍(2): Multi-Paxos与Leader
转载自 微信后台团队公众号,文章地址:https://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483798&idx=1&sn=42dd222ae255b13f1f67cd9e6d3f3dc0&scene=21#wechat_redirect前文介绍了朴素Paxos理论,理解朴素Paxos是理解本文的前提...转载 2018-06-04 10:32:05 · 1576 阅读 · 0 评论 -
Paxos理论介绍(3): Master选举
转载自: 微信后台公众号 连接:https://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483801&idx=1&sn=bcb6229270dccfdd5130db4d4ab34d13&chksm=ebfc624ddc8beb5b55c999b7215f79414f16e636acbe374f6630dd...转载 2018-06-04 11:24:23 · 753 阅读 · 0 评论 -
Paxos理论介绍(4): 动态成员变更
转载自:微信后台团队公众号 链接地址:https://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483807&idx=1&sn=aafdc2103087fd82224075584d00cd4a&chksm=ebfc624bdc8beb5d979d12f23cd477ccb6347c7ddd9decb8f35...转载 2018-06-04 13:41:19 · 628 阅读 · 0 评论 -
微信自研生产级paxos类库PhxPaxos实现原理介绍
转载自:微信后台团队 公众号 连接地址:https://mp.weixin.qq.com/s?__biz=MzI4NDMyNTU2Mw==&mid=2247483695&idx=1&sn=91ea422913fc62579e020e941d1d059e&scene=21#wechat_redirect前言 本文是一篇无需任何分布式以及paxo...转载 2018-06-05 10:59:58 · 895 阅读 · 0 评论 -
Phxpaxos网络部分概述
整体描述网络部分以接口形式提供,接口定义文件为include/phxpaxos/network.h,用户只需要根据此头文件实现相应的功能即可替代其网络部分。其中主要接口三个,分别是发送TCP消息、发送UDP消息,接收消息。class NetWork{public: NetWork(); virtual ~NetWork() {} //Network m...原创 2018-05-25 15:57:17 · 506 阅读 · 0 评论 -
Phxpaxos网络部分(1) —— UDP网络分析
UDP相关逻辑在udp.h/cpp文件中。发送直接上代码class UDPSend : public Thread //继承自Thread,线程相关信息略{public: UDPSend(); ~UDPSend(); //释放资源 int Init(); //初始化socket void run(); void Stop();...原创 2018-05-28 10:13:38 · 466 阅读 · 0 评论 -
Phxpaxos网络部分(2) —— TCP网络整体概略
整个TCP网络部分代码全被封装在TcpIOThread中。通过将NetWork 指针传递进来将此部分与整个业务逻辑关联起来class TcpIOThread {public: TcpIOThread(NetWork * poNetWork); ~TcpIOThread(); int Init(const std::string & sListenIp, c...原创 2018-05-28 10:32:42 · 451 阅读 · 0 评论 -
Phxpaxos网络部分(3) —— TCP事件循环
上一部份介绍了TCP模块大略的类构成。在查看相关的TcpRead/TcpWrite/TcpAcceptor的过程中发现,都包含以个EventLoop类。这是事件处理主循环类。在介绍其他组成部分前,我们先分析一下此类。代码在/src/communicate/tcp/ecent_loop.h/cpp 文件中。顺带手介绍一下里面的事件类Event。先看一下Event类(含有纯虚函数)肯定要做为父类进...原创 2018-05-28 15:03:06 · 430 阅读 · 0 评论 -
Phxpaxos网络部分(4) —— TCP收发消息
TCP收消息TCP收消息相关的类有TcpIOThread.TcpAcceptor.TcpRead 三个类。相互间的关系是:TcpIOThread初始化TcpRead和TcpAcceptor,并将后两者关联起来。 这样Acceptor接收到的连接直接放到TcpRead 中读取数据。class TcpIOThread {public: TcpIOThread(NetWork *...原创 2018-05-30 10:23:57 · 407 阅读 · 0 评论 -
PhxPaxos算法逻辑部分(1)-先导篇
之前的文章介绍了phxpaxos理论部分和网络部分,但是如何真正的实现paxos还没有说明。 下面通过:1。网络部分 2.官方带例子 导入我们要讲的paxos逻辑部分。网络部分先导部分根据之前介绍的网络部分,在这里查找网络接收到的消息到Paxos算法部分是如何处理的。 废话不多少,上代码。 文件src/communicate/network.cpp int NetWork :...原创 2018-06-05 10:41:51 · 924 阅读 · 0 评论