
分布式一致性协议
文章平均质量分 80
uestc-leon
我想做一个强者
展开
-
Paxos协议
Paxos是什么Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致,是分布式计算中的重要问题。Paxos的两个原则安全原则—保证不能做错的事 只转载 2017-06-26 16:02:34 · 388 阅读 · 0 评论 -
Raft一致性算法论文的中文翻译
摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。从一个用户研究的结果可以证明,对于学生而言,R转载 2017-08-15 09:34:43 · 444 阅读 · 0 评论 -
ZooKeeper的一致性算法赏析
1 ZAB介绍 ZAB协议全称就是ZooKeeper Atomic Broadcast protocol,是ZooKeeper用来实现一致性的算法,分成如下4个阶段。 先来解释下部分名词 electionEpoch:每执行一次leader选举,electionEpoch就会自增,用来标记leader选举的轮次 peerEpoch:每次leader选举完成之后,都会选举出一个转载 2017-11-07 17:48:51 · 4814 阅读 · 0 评论 -
Raft算法赏析
1 leader选举 1.1 刚开始所有server启动都是follower状态 然后等待leader或者candidate的RPC请求、或者超时。 上述3种情况处理如下: leader的AppendEntries RPC请求:更新term和leader信息,当前follower再重新重置到follower状态 candidate的RequestVote RP转载 2017-11-08 13:14:29 · 2050 阅读 · 0 评论 -
Raft对比ZAB协议
Raft的实现copycat,由于Raft算法本身已经介绍的相当清晰,copycat基本上和Raft算法保持一致ZAB的实现ZooKeeper,由于ZooKeeper里面的很多实现细节并没有在ZAB里体现(ZAB里面只是一个大概,没有像Raft那么具体),所以这里讨论的都是ZooKeeper的实现 一致性算法在实现状态机这种应用时,有哪些常见的问题: 1 leader选举转载 2017-11-08 12:06:13 · 5159 阅读 · 0 评论 -
分布式系统的Quorum策略
分布式系统要做到数据一致性是不同于单点系统的,列入写入数据,客户端需要等待直到写入成功。因此分布式系统的设计中会运用一些“聪明”的协议、机制用以解决数据一致性、可靠性等问题,Quorum 机制就是其中的一种。 1、分布式系统中的读写模型 分布式系统是由多个节点构成,多个结点意味着服务出现故障结点的概率增大,例如:网络异常、宕机。为了保证系统的正常,分布式系统通过多结转载 2017-11-13 14:19:57 · 447 阅读 · 0 评论 -
分布式入门:副本控制
按某特定流程控制副本数据的读写行为,使副本满足一定的可用性及一致性的分布式协议。 中心化副本控制协议: primary-secondary协议 只有一个副本作为主副本,其余都是从副本。主副本作为中心节点负责数据更新、控制协调一致性。 四大问题: 1. 写 > 写由主完成 > 外部写请求发给主 > 主进行并发控制,即确定并发请求的先后顺序 > 更新操作发给从节点 GFS采转载 2017-11-13 14:43:22 · 554 阅读 · 0 评论