赞
踩
对于分布式中,多个节点的数据强一致性问题,通常采用如下策略或算法为解决方案。
paxos 首先假设通信是安全的
略
multi paxos 是paxos算法的优化,升级版。以便该算法能够被应用在现实中。
lamport 对multi-paxos 的具体实现其实是并没有细节的指定的, 只是简单提了一下. 所以有各种不同的multi-paxos 的实现
multi-paxos对角色进行了新的抽象
因为paxos难以理解,难以实现,所以raft应运而生。
可以说raft是multi-paxos的优化升级版,更易理解,且补充了实现方案。
paxos 是对于一个问题达成一致的协议
而raft 本身是对一堆连续的问题达成一致的协议
raft是etcd的采用的共识算法
动画演示 http://thesecretlivesofdata.com/raft/
官网:https://raft.github.io/
raft 是基于对multi paxos 的两个限制形成的
raft将共识问题划分成三个子问题,实现了这三个子问题,则实现了共识问题。
1.网络分区
则每个分区都会产生一个leader,但只有节点较多的分区能够保存数据成功。
在分区恢复后,任期较低的leader节点变为follower,并从leader节点同步日志。
zab 与raft基本相同,也是multi-paxos的一种实现
是zookeeper的实现算法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。