天天看点

Dubbo+Zookeeper

zookeeper-3.4.9.tar.gz

解压zookeeper-3.4.9.tar.gz

将/opt/zookeeper-3.4.9/conf/zoo_sample.cfg复制为/opt/zookeeper-3.4.9/conf/zoo.cfg

新建目录:/opt/zookeeper-3.4.9/data

修改/opt/zookeeper-3.4.9/conf/zoo.cfg文件

创建服务端工程:

引入依赖:

Spring配置文件:

配置文件:

ZooKeeper=文件系统+通知机制

文件系统:ZooKeeper使用树形结构管理数据。而且以“/”作为树形结构的根节点。

通知机制:用ZooKeeper的通知机制后,各个模块工程在特定znode上设置Watcher(观察者)来监控当前节点上值的变化。一旦Watcher检测到了数据变化就会立即通知模块工程,从而自动实现“一处修改,处处生效”的效果。

常用命令:

czxid:引起这个znode创建的zxid,创建节点的事务的zxid(ZooKeeper Transaction Id)

ctime:znode被创建的毫秒数(从1970年开始)

mzxid:znode最后更新的zxid

mtime:znode最后修改的毫秒数(从1970年开始)

pZxid:znode最后更新的子节点zxid

cversion:znode子节点变化号,znode子节点修改次数

dataversion:znode数据变化号

aclVersion:znode访问控制列表的变化号

ephemeralOwner:如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0。

dataLength:znode的数据长度

numChildren:znode子节点数量

ruok:测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何响应

stat:输出关于性能和连接的客户端的列表

conf:输出相关服务配置的详细信息

cons:列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受 / 发送”的包数量、会话id 、操作延迟、最后的操作执行等等信息

dump:列出未经处理的会话和临时节点

envi:输出关于服务环境的详细信息(区别于conf命令)

reqs:列出未经处理的请求

wchs:列出服务器watch的详细信息

wchc:通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表

wchp:通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径

 依赖信息:

Java操作代码:

测试使用代码:

Dubbo+Zookeeper
Dubbo+Zookeeper

代码实现: