第二篇:《从Paxos到zookeeper分布式一致性原理与实践》一致性协议与zookeeper
Posted 热点猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二篇:《从Paxos到zookeeper分布式一致性原理与实践》一致性协议与zookeeper相关的知识,希望对你有一定的参考价值。
上一篇总结了下分布式所产生的问---------分布式系统中一致性问题。今天继续站在巨人的肩膀上虚心学习一下,怎样解决这些问题!
一、一致性协议:
计算机大佬们为了解决分布式一致性问题,经过了很长的时间探索和研究,其中三个比较出名的解决一致性协议算法为:二阶段提交算法、三阶段提交算法、Paxos(中文发音:帕克所斯,英文记忆不是很强所有按照自己的发音加强记忆,有误之处请指出批评)。二阶段、三阶段算法,大佬们可以百度一大堆。
PAXOS算法:
三阶段算法是在二阶段算法上的一个优化,主要优化的是性能方面,但是二阶段和三阶段两个算法都不能解决分布式分区容错(脑裂)的问题。所有paxos算法是一种基于消息传递具有高度容错特征的一致性算法。也就是说可以解决脑裂所造成的一致性问题。
小结:从二阶段到三阶段到Paxos算法,都是经过很多年才得出来的。可以看出任何的东西都是从简单到复杂,不是一出来就是复杂的。老子说过:天下难事必做于易,天下大事必做于细。从小事做起,化繁为简。
二、PAXOS算法与Zookeeper:
(一)Zookeeper是什么:典型的分布式数据一致性解决方案。
(二)Zookeeper解决问题:提供一个高性能、高可用,具有严格的顺序访问控制能力的分布式协调服务。
(三)Zookeeper设计目标:
1. 数据模型要简单
2. 能集群
3. 顺序访问
4. 高性能
(四)Zookeeper名字由来:雅虎内部很多项目都是使用动物的名字命名的,所有雅虎工程师也说这个项目取个动物的名字;于是一个科学家开玩笑说:在这样我们这里成动物园了。这话一出,大家都说就叫动物管理员吧。由此Zookeeper的名字就这样诞生了。
(五)为什么要用Zookeeper?
1. 免费、开源
2. 性能高、稳定
3. 得到了广泛的应用。Hadoop,Hbase,Stormd等都用它用作分布式协调
(六)Zookeeper内部协议采用类似于PAXOS算法,具体是什么呢?
三、Zookeeper与ZAB协议:
Zookeeper并没有采取Paxos算法,而是使用一种称为Zookeeper Atomic Broadcase(ZAB,Zookeeper原子消息广播协议)的协议作为数据一致性核心算法。该协议是Zookeeper专门设计的一种指出崩溃恢复的原子广播协议,注意这一点特别为Zookeeper设计的崩溃恢复的原子消息广播算法。
ZAB协议包括两种模式:一种是崩溃恢复,一种是消息广播
什么是崩溃恢复呢?
当整个服务框架在启动过程中,或者当leader服务器出现网络中断、崩溃退出与充气等异常情况是,ZAB协议就进入了恢复模式并选举新的leader服务器,新的leader服务于过半的机器完成数据同步之后,ZAB协议就会退出恢复模式。
也就是说:分布式中必定要有一个leader。其次就是leader挂了重新洗牌,新的leader一定会产生,使zookeeper退出恢复模式。
什么是消息广播呢?
Zookeeper服务器的三个角色Follow、Leader(只有一台被选举出来)、Observer。
ZAB是原子消息广播,铁定zookeeper里面是一直消息传送机制。当集群中已经有过半的Follow服务器完成和leader服务的状态同步,那么整个服务框架就进入消息广播模式。当另一个Follow加入时,就会跟leader进入恢复模式,直到同步完成,接着进入分布式的消息广播模式。
也就是说:分布式服务器(leader)没有出现异常,好的状态就是消息广播模式。
低姿态:能力有限,只从简单的概念说起,也是自己的一些理解。
总结:我的理解:
第一、ZAB协议是一个专门为Zookeeper设计的协议,按照ZAB协议,只要leader挂了,就会进入恢复模式,好了就进入消息广播模式。
第二、PAXOS算法只要用于构建一个分布式的一致性状态机系统;ZAB协议主要用于构建一个高可用的分布式数据主备系统(zookeeper)。
第三、(还是个菜鸟,有不对的地方可以关注微信指出,不同的意见可以一起讨论)。
以上是关于第二篇:《从Paxos到zookeeper分布式一致性原理与实践》一致性协议与zookeeper的主要内容,如果未能解决你的问题,请参考以下文章
从Paxos到Zookeeper分布式一致性原理与实践 -笔记
从Paxos到zookeeper分布式一致性原理与实践-Zookeeper与Paxos
《从Paxos到Zookeeper:分布式一致性原理与实践》PDF下载