1. ZAB协议和Paxos算法: 简单的理解, ZAB协议是Paxos算法的优化。 Paxos算法在出现竞争的情况下,其收敛速度很慢,甚至可能出现活锁的情况,例如当有三个及三个以上的proposer在发送prepare请求后,很难有一个proposer收到半数以上的回复而不断地执行第一阶段的协议。 ...
分类:
其他好文 时间:
2018-05-14 11:06:29
阅读次数:
130
Basic-Paxos算法(可以先看后面的实际例子再看前面的具体介绍部分) Paxos算法的目的 Paxos算法的目的是为了解决分布式环境下一致性的问题。 多个节点并发操纵数据,如何保证在读写过程中数据的一致性,并且解决方案要能适应分布式环境下的不可靠性(系统如何就一个值达到统一) Paxos的两个 ...
分类:
其他好文 时间:
2018-04-27 02:21:16
阅读次数:
148
上一章讨论了paxos算法,把paxos推到一个很高的位置。但是,paxos有没有什么问题呢?实际上,paxos还是有其自身的缺点的: 1. 活锁问题。在base-paxos算法中,不存在leader这样的角色,于是存在这样一种情况,即P1提交了一个proposal n1并且通过了prepare阶段 ...
分类:
其他好文 时间:
2018-04-05 11:53:46
阅读次数:
204
上一章讨论了一种强一致性的情况,即需要分布式事务来解决,本章我们来讨论一种最终一致的算法,paxos算法。 paxos算法是由大牛lamport发明的,关于paxos算法有很多趣事。比如lamport论文最初由故事描述来引入算法,以至于那班习惯数学公式的评委将该论文打回,导致该论文延误了8年才公开发 ...
分类:
其他好文 时间:
2018-04-04 12:26:30
阅读次数:
154
简介 分布式系统和应用,不仅能提供更强的计算能力,还能为我们提供更好的容灾性和扩展性。 ZooKeeper是Google的Chubby项目的开源实现,它曾经作为Hadoop的子项目,在大数据领域得到广泛应用 ZooKeeper以Fast Paxos算法为基础,同时为了解决活锁问题,对Fast Pax ...
分类:
其他好文 时间:
2018-04-03 22:00:12
阅读次数:
133
两将军问题 两将军问题本质上就是通信被篡改时能否解决一致性问题。这个问题已经被很多人证明不能。因而由此推及的拜占庭将军问题(多将军问题)也同样不能被解决。 PAXOS算法 两阶段提交 基本思想是两阶段提交。但是与两阶段目的不同: 编号n大于所有acceptor之前已经批准过的proposal(提案) ...
分类:
其他好文 时间:
2018-03-31 14:19:43
阅读次数:
161
从分布式系统的CAP理论出发,关注分布式一致性,以及区块链的共识问题及解决。 区块链首先是一个大规模分布式系统,共识问题本质就是分布式系统的一致性问题,但是又有很大的不同。工程开发中,认为系统中存在故障(fault),但不存在恶意(corrupt)节点,而区块链,特别是公开链是落地到物理世界中,涉及 ...
分类:
编程语言 时间:
2018-03-26 00:48:34
阅读次数:
206
"Zookeeper安装配置及简单使用" "Zookeeper API如何进行调用" "分布式架构详解" "一致性协议详解" "Paxos算法及ZAB协议" "Chubby技术架构解析" "ZkCLient、Curator" "Zk大型分布式系统中的应用" "分布式锁、发布订阅" "Zk命名服务、M ...
分类:
其他好文 时间:
2018-03-25 18:13:01
阅读次数:
167
分布式系统理论(二):一致性协议Paxos 分布式系统理论(二):一致性协议Paxos 摘要: 分布式系统理论第二章,此系列主要以理论为主。 Paxos算法 Paxos算法是莱斯利·兰伯特(Leslie Lamport)于1990年提出的一种基于消息传递的一致性算法。 Paxos 算法是一个解决分布 ...
分类:
其他好文 时间:
2018-03-24 00:40:23
阅读次数:
229
1、Paxos算法的应用 Paxos算法及变种算法在分布式系统中应用广泛。 基于Paxos算法的变种有:ZAB、Raft 例如: ? Zookeeper 中的ZAB协议也是Paxos算法的变种。Zookeeper通过ZAB协议实现数据一致性,以提供数据一致
分类:
编程语言 时间:
2018-03-13 23:49:32
阅读次数:
270