Zookeeper?
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务
提供了什么?
文件系统和通知机制
Znode类型?
PERSISTENT-持久化目录节点
PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
EPHEMERAL-临时目录节点
PHEMERAL_SEQUENTIAL-临时顺序编号目录节点
Zookeeper通知机制?
客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。
Follower访问过程
注: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结果到客户端,这个消息最初由客户端发起,用来强制得到最新的更新。
能做什么?
1.命名服务
命名服务2.配置管理
配置管理3.集群管理
集群管理4.分布式锁
分布式锁5.队列管理
队列管理设计目的?
1.最终一致性 2.可靠性 3.实时性 4.等待无关(wait-free) 5.原子性 6.顺序性
工作原理?
1.ZAB协议
Server工作状态?
1. LOOKING
2. LEADING
3. FOLLOWING
选主流程?
1. Basic
Paxos 2.
Fast Paxos(默认)
模式?
1. 恢复模式(选主) 2.广播模式(同步)
参考:
https://www.cnblogs.com/felixzh/p/5869212.html
https://www.cnblogs.com/raphael5200/p/5285583.html
网友评论