etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复...
分类:
其他好文 时间:
2014-12-21 12:38:31
阅读次数:
273
上一篇文章提到, Raft核心部分只需要用到2个RPC: RequestVote和AppendEntries, 本文将介绍这两个RPC的格式和作用。
RequestVote RPC是由candidate发送给其他节点,请求其他节点为自己投票,如果一个candidate获得了多数节点的投票,则该candidate转变为Leader。AppendEntries RPC是由Leader节点发送给其他节点,有两个作用,当其entries域为空时,该RPC作为Leader的心跳,当entries域不为空时,请求其他节...
分类:
其他好文 时间:
2014-12-13 18:07:25
阅读次数:
301
分布式多副本的存储系统,通常依据PAXOS设计一致性协议。当副本数量变化时候,PAXOS的多数派的值也会发生变化,如何在不中断服务的情况下,实现安全一致的副本数量变化方案,raft中提出了joint consensus的概念,然而,这种方案并没有给出形式化的严格证明。本文从严格的PAXOS出发,提出了一种可形式化证明的成员变更方法。...
分类:
其他好文 时间:
2014-08-25 19:26:44
阅读次数:
224
分析了RAFT系统中,分布式系统成员变更实现以及失败恢复的过程。...
分类:
其他好文 时间:
2014-08-15 17:57:09
阅读次数:
260
阿里技术大讲堂OceanBase专场中曾有专门一场讲座介绍OB自己实现的分布式选举算法:《分布式选举-破解数据库高可用性难题》这里简单列一下这个选举算法和raft论文中提到的选举算法的区别。如下都是以OB的立场说的:1)OB使用的选举算法,选举开始点靠timer对齐,保证网络中的参与者都是“同时”发...
分类:
其他好文 时间:
2014-07-22 22:37:15
阅读次数:
383