【Zookeeper】JAVA通过ZK实现服务注册和服务发现

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。

服务化现在已经是个很成熟的概念了,最近在做个项目,其实就用到了一个服务地址的暴露和订阅,简单跟大家探讨探讨

 

<dependency>
				<groupId>com.101tec</groupId>
				<artifactId>zkclient</artifactId>
				<version>0.7</version>
			</dependency>

 

服务端创建目录并注册数据

 

zk.create(path, data, aclList,
                        persistent == true ? CreateMode.PERSISTENT : CreateMode.EPHEMERAL);

aclList带有权限控制信息

 

 

客户端只需要对相应的目录进行监控即可,一旦发生变化,zk会通知道客户端,获取最新的数据

 

zk.subscribeChildChanges(path, new IZkChildListener() {

            @Override
            public void handleChildChange(String parentPath, List<String> currentChilds)
                    throws Exception {

订阅子目录的变化

 

 

zk.subscribeDataChanges(path, new IZkDataListener() {
            @Override
            public void handleDataDeleted(String dataPath) throws Exception {
            }

            @Override
            public void handleDataChange(String dataPath, Object data) throws Exception {

订阅目录下数据的变化

 

 

服务注册:

服务端将自身服务地址注册到A目录下

服务发现:

客户端监听A目录变化,拿到最新的服务地址信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值