ZooKeeper学习(二)ZooKeeper原理解析

本文深入解析ZooKeeper的选举机制,包括ZooKeeper中的角色、Zookeeper与客户端交互、节点数据操作流程,以及基于Paxos的ZAB协议。详细介绍了Basic Paxos流程,ZooKeeper的全新和非全新集群选主过程,探讨了选举中的关键因素如服务器ID、数据ID、逻辑时钟等。
摘要由CSDN通过智能技术生成
ZooKeeper中的各种角色

ZooKeeper与客户端

每个Server在工作过程中有三种状态:

  LOOKING:当前Server不知道leader是谁,正在搜寻

  LEADING:当前Server即为选举出来的leader

  FOLLOWING:leader已经选举出来,当前Server与之同步
Zookeeper节点数据操作流程


注:    

  1.在Client向Follwer发出一个写的请求

  2.Follwer把请求发送给Leader

  3.Leader接收到以后开始发起投票并通知Follwer进行投票

  4.Follwer把投票结果发送给Leader

  5.Leader将结果汇总后如果需要写入,则开始写入同时把写入操作通知给Leader,然后commit;

  6.Follwer把请求结果返回给Client

 Follower主要有四个功能:

  1. 向Leader发送请求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息);

  2 .接收Leader消息并进行处理;

  3 .接收Client的请求,如果为写请求,发送给Leader进行投票;

  4 .返回Client结果。

Follower的消息循环处理如下几种来自Leader的消息:

  1 .PING消息: 心跳消息;

  2 .PROPOSAL消息:Leader发起的提案,要求Follower投票;

  3 .COMMIT消息:服务器端最新一次提案的信息;

  4 .UPTODATE消息:表明同步完成;

  5 .REVALIDATE消息:根据Leader的REVALIDATE结果,关闭待revalidate的session还是允许其接受消息;

  6 .SYNC消息:返回SYNC结果到客户端,这个消息最初由客户端发起,用来强制得到最新的更新。
Paxos 算法概述(ZAB 协议) 

        Paxos 算法是莱斯利•兰伯特(英语:Leslie Lamport)于 1990 年提出的一种基于消息传递且 具有高度容错特性的一致性算法。

  分布式系统中的节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages pas

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值