Curator该如何入门
本篇文章为大家展示了Curator该如何入门,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端编程。
Maven依赖
<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.9</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>2.7.0</version></dependency>
1.创建Curator 连接实例(2种方式)
CuratorFrameworkclient=CuratorFrameworkFactory.newClient(address,newExponentialBackoffRetry(1000,3));
CuratorFrameworkclient=CuratorFrameworkFactory.builder().connectString(address).sessionTimeoutMs(1000).retryPolicy(retryPolicy).build();
CuratorFramework 使用之前必须先调用
client.start();
完成一系列操作后,调用client.close();方法,可以使用try-finally语句:
CuratorFrameworkclient=CuratorFrameworkFactory.newClient(address,newExponentialBackoffRetry(1000,3));try{client.start();...}finally{if(client!=null)client.close();}
2.创建节点
a. 创建永久性节点
client.create().creatingParentContainersIfNeeded().withMode(CreateMode.PERSISTENT).withACL(ZooDefs.Ids.OPEN_ACL_UNSAFE).forPath(path,"hello,zk".getBytes());
b. 创建临时节点
client.create().withMode(CreateMode.EPHEMERAL).forPath(path,"hello".getBytes());
3.获取节点值
byte[]buf=client.getData().forPath(path);System.out.println("getdatapath:"+path+",data:"+newString(buf));
4.设置节点值
client.setData().inBackground().forPath(path,"ricky".getBytes());
5.checkExists
Statstat=client.checkExists().forPath(path);if(stat==null){System.out.println("execcreatepath:"+path);}else{System.out.println("execgetData");}
6.删除节点
client.delete().deletingChildrenIfNeeded().forPath("/pandora");
上述内容就是Curator该如何入门,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。