聊聊、Zookeeper 客户端 Curator
生活随笔
收集整理的這篇文章主要介紹了
聊聊、Zookeeper 客户端 Curator
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【Curator】?
?和 ZkClient 一樣,Curator 也是開(kāi)源客戶(hù)端,Curator 是 Netflix 公司開(kāi)源的一套框架。?
<dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>2.8.0</version> </dependency>?
?創(chuàng)建連接
- ?static CuratorFramework newClient(String connectString,RetryPolicy retryPolicy)
- ?static CuratorFramework newClient(String connectString,int sessionTimeOutMs,int connectionTimeOutMs,RetryPolicy retryPolicy)
?和原生 API,ZkClient 客戶(hù)端都不一樣,Curator 通過(guò) CuratorFrameworkFactory 來(lái)創(chuàng)建客戶(hù)端,然后調(diào)用 start 方法來(lái)啟動(dòng)。
?
package zookeeper.curator;import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry;public class OpenCuratorClient {public static void main(String[] args) {RetryPolicy policy = new ExponentialBackoffRetry(1000, 3);CuratorFramework client = CuratorFrameworkFactory.newClient("127.0.0.1:2181",5000,3000,policy);client.start();}}?
?ExponentialBackoffRetry 是?SleepingRetry 實(shí)現(xiàn)類(lèi),而 SleepingRetry 又是?RetryPolicy 接口實(shí)現(xiàn)類(lèi)。ExponentialBackoffRetry(1000, 3) 表示初始 sleep 時(shí)間 1 秒,重試次數(shù)為 3。
?
?創(chuàng)建節(jié)點(diǎn)
- ?public CreateBuilder create()
- ?public ProtectACLCreateModePathAndBytesable<String> creatingParentsIfNeeded()
- ?public T withMode(CreateMode mode)
- ?public T forPath(String path,byte[] data) throws Exception
- ?public T forPath(String path)?throws Exception
?
package zookeeper.curator;import org.apache.curator.RetryPolicy; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry; import org.apache.zookeeper.CreateMode;public class OpenCuratorClient {public static void main(String[] args) {RetryPolicy policy = new ExponentialBackoffRetry(1000, 3);CuratorFramework client = CuratorFrameworkFactory.newClient("127.0.0.1:2181",5000,3000,policy);client.start();try {client.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).forPath("/app2","app2".getBytes());} catch (Exception e1) {e1.printStackTrace();}try {Thread.sleep(Integer.MAX_VALUE);} catch (InterruptedException e) {e.printStackTrace();}}}
?
?謝謝大家觀看!
?
轉(zhuǎn)載于:https://www.cnblogs.com/xums/p/7220493.html
總結(jié)
以上是生活随笔為你收集整理的聊聊、Zookeeper 客户端 Curator的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring装配Bean过程
- 下一篇: sql-表空间