版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c_royi/article/details/84063640
zookeeper基础知识
1.单个zookeeper结构
zookeeper结构图
- 每个节点都为znode
- znode分为持久节点(客户端断开连接后,仍然存在),临时节点(断开连接,节点消失,不允许有子节点),顺序节点(持久或临时,编号用于锁定和同步中)
- 每个znode维护一个stat(由版本号,操作控制列表,时间戳,数据长度组成)
znode详解
2.zookeeper集群结构
zookeeper集群结构
1、client
分布式中的一个节点,访问服务器的配置信息,周期性向server发送心跳包,server向client回应确认,如果client没有收到回应,则重定向到另一个server
2、server
zookeeper中的一个节点,为client提供所需的服务,给client回应信息表明自己是存活的
3、leader
连接任何一个节点,如果节点出现故障,leader自动修复,在service启动时完成leader的选举
4、follower
听从leader的指令,完成选举工作
2.1Leader主要有三个功能:
- 恢复数据;
- 维持与follower的心跳,接收follower请求并判断follower的请求消息类型;
- follower的消息类型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根据不同的消息类型,进行不同的处理。