Zookeeper之Curator(1)客户端对节点的一些监控事件的api使用

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 《一》节点改变事件的监听 1 public class CauratorClientTest { 2 3 //链接地址 4 private static String zkhost="172.19.27.246:2181"; 5 //sessionTimeoutMs会话超时时间,单位为毫秒。

《一》节点改变事件的监听

 1 public class CauratorClientTest {
 2     
 3     //链接地址
 4     private static  String zkhost="172.19.27.246:2181";
 5     //sessionTimeoutMs会话超时时间,单位为毫秒。默认是60000ms
 6     private static  int  sessionTimeoutMs=5000;
 7     //connectionTimeoutMs连接创建超时时间,单位毫秒,默认15000ms
 8     private static  int connectionTimeOutMs=3000;
 9     //重连策略
10     private static  int maxRetries;
11     //    zookeeper连接间隔时间基数
12     private static int baseSleepTimeMs=1000;
13     //系统域dev,qa,pro
14     private static String domain="dev";
15     
16     
17     /**
18  * 数据节点被改变的事件。能监听节点存储的数据发生变化,和节点被删除的事件。
19  * 节点被删除后,会调用回调方法。
20  */
21 public static void testNodeChangeEvent() throws Exception{
22     CuratorFramework client = CuratorFrameworkFactory.newClient(zkhost,sessionTimeoutMs,connectionTimeOutMs, new ExponentialBackoffRetry(baseSleepTimeMs,maxRetries));
23     client.start();
24     
25     String path=client.create().creatingParentContainersIfNeeded().withMode(CreateMode.EPHEMERAL).forPath("/dev/sxf/cd","sxf".getBytes());
26     
27     NodeCache nodeCache=new NodeCache(client,path);
28     
29     /**
30      * 注册数据节点中存储的数据被改变的事件
31      */
32     nodeCache.getListenable().addListener(new NodeCacheListener() {
33         /**
34          * 数据节点变化事件
35          */
36         @Override
37         public void nodeChanged() throws Exception {
38             
39             ChildData data=nodeCache.getCurrentData();
40             if(data==null){
41                 System.out.println("节点被删除");
42                 return;
43             }
44             
45             Stat  stat=data.getStat();
46             
47             int a=stat.getNumChildren();
48             
49             System.out.println("子节点的个数为==>"+a);
50             
51             System.out.println("节点数据被改变改变后的数值为==>"+new String(nodeCache.getCurrentData().getData()));
52             
53         }
54     });
55     
56     nodeCache.start();
57     
58     
59     //当前线程休眠几秒
60     Thread.sleep(10000L);
61     
62     
63     client.setData().forPath("/dev/sxf/cd","中国人民解放军".getBytes());
64     
65     
66     //当前线程休眠几秒
67     Thread.sleep(10000L);
68     client.setData().forPath("/dev/sxf/cd","第二次改变".getBytes());
69     
70     
71     //当前线程休眠几秒
72     Thread.sleep(10000L);
73     client.delete().forPath("/dev/sxf/cd");
74     
75     
76     
77     Thread.sleep(100000L);
78     
79 }
80 
81 }
View Code

 

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
90 1
|
3月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
63 1
|
3月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
72 1
|
4月前
|
负载均衡 API 数据安全/隐私保护
Zookeeper的客户端-原生的API
Zookeeper的客户端-原生的API
|
5月前
|
安全 API 网络安全
【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
【Azure API 管理】APIM如何配置客户端证书的CRL检测策略
|
5月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
267 0
|
5月前
|
API
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
【Azure 应用服务】在App Service中调用外部服务API时需要携带客户端证书,而多次调用的情况下会出现WindowsCryptographicException Keyset does not exist异常
|
4月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
4月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
29天前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论

热门文章

最新文章