简介:分布式的应用程序协调服务,是一个集群管理者,监视着集群中各个节点的状态,根据节点提交的反馈进行操作。
目标就是封装好复杂易出错的关键服务,将易用的接口和稳定的系统提供给用户。
特性:有序性,所有的更新都是全局有序的,每个更新都有唯一时间戳。
1、zookeeper的文件系统:
提供了一个多层级的节点命名空间,文件系统中文件节点存放数据目录节点不行,但是zookeeper中所有节点都可以存放数据。为了保证吞吐量,不能存放大量的数据。
2、zookeeper通知机制
client端可在某个znode建立watcher事件,当该节点变化时,client会收到通知,进而进行业务上的改变
3、zookeeper的功能
1)命名服务
2)配置管理
3)集群管理
4)分布式锁
5)队列管理
4、zk集群管理
是否有机器退出和加入、选举master
5、zookeeper分布式锁
锁服务分为两类,一,保持独占、二,控制时序。
第一类,所有用户去创建lock节点,成功的那个拥有锁,用完删除释放锁
第二类,lock已存在,所有客户端创建临时顺序编号目录节点,利用选举机制选出master,用完删除,依次进行
6、zk队列管理
1)同步队列,当所有队员到齐时队列才可用
2)队列按照fifo(先进先出)进行入队出对
7、各角色功能
1)leader:负责进行投票的发起和决议,更新系统状态
2)follower接收客户请求并返回相应,参与投票
3)observer接收客户端连接,将写请求发给leader,不参与投票过程,只同步leader状态,目的是为了扩展系统提高读取速度。
8、原子广播,保证了各个server之间的同步,实现该机制的协议叫做zab协议,有两种模式:选主(恢复模式)和广播模式(同步)
9、选主流程

网友评论