- Zookeeper
-
zookeeper是什么
ZooKeeper是一个分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
当客户端发起请求时,zookeeper返回正确的服务器地址. -
集群原理
总结:Zookeeper --原子广播—Server之间的同步—。Zab协议:两种模式–》1.恢复模式(选主)2.广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复(选主)模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。
补充:心跳检测能够监控服务的健康状况,同springcloud的Eureka服务器差不多功能 -
作为dubbo的注册中心Zookeeper对dubbo存储数据的示例:
节点类型
有4种类型的znode
1、PERSISTENT–持久化目录节点
客户端与zookeeper断开连接后,该节点依旧存在
2、PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
3、EPHEMERAL-临时目录节点
客户端与zookeeper断开连接后,该节点被删除
4、EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号‘
分布式锁: zk的分布式锁的使用,以及zk的相关的介绍说明?
客户端断开连接后,临时节点会被删除。
原理:在某个节点下创建临时顺序节点,当client1成功创建节点时,client2是无法创建同名的节点的达到互斥的效果。
当锁被删除会被其它的大一个的节点监听到,这个是实现了公平的锁。先来后到。