zookeeper面试题----什么是ZAB协议,zookeeper的节点类型,服务器的角色有什么

一.ZAB协议是什么

ZAB协议是为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议.
ZAB协议包括两种基本的模式:崩溃恢复和消息广播.
当整个zookeeper集群刚刚启动或者leader服务器宕机.重启或者网络故障导致不存在过半的服务器与leader的服务器保持正常的通信时,所有服务器进入崩溃恢复模式,首先 选举产生新的leader服务器,然后集群follower服务器开始与新的leader服务器进行数据同步,当集群中超过半数的机器与该leader服务器完成数据同步之后,退出恢复模式进行消息广播模式,leader服务器开始接收客户端的事务请求,并进行事务请求处理

二.四种类型的数据节点Znode

1.持久节点:

只要不是手动删除,节点就会一直存在zookeeper中

2.临时节点:

生命周期与客户端会话绑定,一旦客户端失效(客户端与zookpeer连接断开不一定会话失效),那么这个客户端创建的所有临时节点都会被移除

3.持久顺序节点

基本特性同持久节点,只是增加了顺序属性,节点名后边会追加一个由父节点 维护的自增整型数据

4.临时顺序节点

基本特性同临时节点,增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。

三.服务器角色

Leader:

可以接收和处理事务请求,也是事务请求的唯一调度和处理者,保证集群事务处理的顺序性
集群内部各服务的调度者

Follower:

处理客户端的非事务请求,转发事务请求给leader服务器
参与leader选举投票

observer:

处理客户端的非事务请求,转发事务请求给leader服务器
不参与任何形式的投票

四.zookeeper下的server工作状态

服务器具有四种状态,分别是looking,following,leading,observing
LOOKING:寻找Leader状态。当服务器处于该状态时,它会认为当前集群中没有Leader,因此需要进入Leader选举状态。
FOLLOWING:跟随者状态。表明当前服务器角色是Follower。
LEADING:领导者状态。表明当前服务器角色是Leader。
OBSERVING:观察者状态。表明当前服务器角色是Observer。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值