zookeeper学习(一)
zookeeper
zookeeper原理
zk的应用场景
1:分布式配置中心 (数据配置中心),数据同步,监听服务。 2:任务调度,Job ,服务替换 3:服务的注册和订阅, 服务提供和服务调用(消费), 4:共享锁(Locks) 5:队列
zk功能
配置维护服务,域名服务,分布式协调服务,组服务
了解zk
是个分布式的配置中心
是一个c/s的集群架构,socket tcp/ip
下载解压安装zk
启动: sh zkServer.sh start
查看启动状态
sh zkServer.sh status
jsp 查看进程
连接zk客户端
sh zkCli.sh -server 127.0.0.1:2181
zk 命令
帮助 help
Znode zk节点数据
zookeeeper 是zk的自带节点不能删除
ls / 查看当前目录下有多少个节点
create /zhouyangzk 2019 创建节点
get /zhouyangzk 查看节点
set /zhouyangzk 201909 修改节点数据
delete 节点路径 只能删除一个文件
rmr 可以递归删除节点
get /zhouyangzk
201909
cZxid = 0xb
ctime = Fri Sep 13 16:09:04 CST 2019
mZxid = 0xc
mtime = Fri Sep 13 16:11:26 CST 2019
pZxid = 0xb
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
Znode zk节点数据
四种数据节点类型: 持久节点,持久有序节点,临时节点,临时有序节点
watcher 监听机制
1:创建衣蛾znode节点 create /zkwatcher 2019
2:get /zkwatcher watcher 创建watcher监听机制
3:重新打开一个客户端连接修改 zkwatcher节点数据,set /zkwatcher 201909
4:zkwatcher节点数据变更通知机制
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/zkwatcher
zk的原理
Zookeeper从设计模式角度来看,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式。