IT袋

当前位置:主页 > 经验教程 > 建站编程 >

zookeeper详解

zookeeper详解(4)

时间:2024-01-19 13:44:35 来源:IT袋 作者:马勇
导读:zookeeper详解,Zookeeper集群 Zookeeper的集群中有哪些角色 主要有以下角色: Leader(领导者):负责进行投票的发起和决议,更新系统状态。为客户端提供读和写服务。 Follo

zookeeper详解

Zookeeper集群

Zookeeper的集群中有哪些角色

主要有以下角色:

  • Leader(领导者):负责进行投票的发起和决议,更新系统状态。为客户端提供读和写服务。
  • Follower(跟随着):用于接收客户端请求并响应客户端返回结果,在选主过程中参与投票,为客户端提供读服务。
  • Observer(观察者):可以接手客户端的连接,将写请求转发给Leader,但Observer不参与投票过程,只同步Leader的状态,Observer的目的时为了扩展系统,提高读取速度。
  • Client(客户端):请求发起方

Zookeeper集群选举的原理

ZAB 协议&Paxos算法

  • Paxos算法

Paxos算法时莱斯利·兰伯特于1990年提出的一种基于消息传递且具有高度容错性的一致性算法。在基于传递通信模型的分布式系统,不可避免地会发生以下错误:进程可能会慢、被杀死或重启,消息可能会延迟、丢失、重复。Paxos算法可解决分布式系统中如何就某个值达成一致,保证不论发生以上任何异常,都不会破坏一致性。是至今为止唯一的分布式一致性算法,Paxos前提是没有拜占庭将军问题,就是Paxos只有在一个可信的计算环境中才能成立。

  • ZAB 协议

ZAB协议是为分布式协调服务zookeeper专门设计地一种支持崩溃恢复地原子广播协议,是Zookeeper保证数据一致性地核心算法。ZAB借鉴了Paxos算法,但又不像Paxos算法那样,是一种通用的分布式一致性算法,相比Paxos,ZAB最大的特点就是保证强一致性。

ZAB协议包括两种基本的模式:崩溃恢复和消息广播。Zookeeper的核心是通过ZAB协议保证了各个Server之间的同步。当服务启动或者在Leader崩溃后,ZAB就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和Leader的状态同步之后,恢复模式就结束了。状态同步保证了Leader和Server具有相同的系统状态。

ZAB协议于Paxos算法的联系与区别

ZAB协议提交事务提案的过程跟Paxos有点类似,都是由Leader发送给下面的Follower,让Follower进行投票表决,都是超过半数以上才会通过。

但是ZAB协议比Paxos多的是崩溃恢复模式,也就是Leader崩溃时,能够自我恢复。

所以ZAB协议跟Paxos算法最主要的区别就是:两个设计的目标不同,ZAB协议主要用于构建一个高可用的分布式数据的主备系统,因为有崩溃恢复,Leader崩溃能够重新选举,达到一个高可用的目的。

而Paxos算法目的在于构建一个分布式数据一致性系统,强调的是数据的一致性,当Proposer提议者崩溃时不能自我恢复,从而丢失高可用的功能

Zookeeper选举

相关阅读

  • 什么是跨站脚本 XSS攻击?

    什么是跨站脚本 XSS攻击?

    为网友解答什么是跨站脚本的相关话题,下面为详细的介绍。 跨站脚本(Cross-Site Scripting,XSS)是一种常见的网络安全漏洞,攻击者利用该漏洞在受害者的网页中插入恶意脚本,从而能够获取

  • dns服务器未响应怎么修复 分享dns未响应最简单的修复办法

    dns服务器未响应怎么修复 分享dns未响应最简单的修复办法

    今天为大家介绍dns服务器未响应怎么修复和分享dns未响应最简单的修复办法的教程内容,继续往下看吧! 很多人在浏览网页时,经常会遇到DNS服务器未响应的情况,那么什么是DNS服务器?DNS未

  • HTTP状态码深入解析:401 Unauthorized

    HTTP状态码深入解析:401 Unauthorized

    为大家介绍HTTP状态码深入解析的教程内容,接下来一起来看看吧。 在互联网通信中,HTTP状态码是用来表示服务器响应的一种方式。 当我们在浏览器中访问网页时,服务器会返回一个状态码,

  • 个人网站备案流程 工信部个人网站备案过程讲解

    个人网站备案流程 工信部个人网站备案过程讲解

    您可能不了解个人网站备案流程和工信部个人网站备案过程讲解的IT小经验,继续往下看吧! 嗨,大家好,我是希留。 前面文章介绍了下使用https访问网站的相关配置,然后发现访问https时灵时