Zookeeper:Curator
来源:互联网 发布:unity3d ios插件 编辑:程序博客网 时间:2024/06/14 18:52
Curator简介
Curator提供了一套Java类库, 可以更容易的使用ZooKeeper。 ZooKeeper本身提供了Java Client的访问类,但是API太底层,不宜使用, 容易出错。 Curator提供了三个组件。
Curator共有四个子项目组成:
- Curator client用来替代ZOoKeeper提供的类, 它封装了底层的管理并提供了一些有用的工具;
- Curator framework提供了高级的API来简化ZooKeeper的使用。它增加了很多基于ZooKeeper的特性,帮助管理ZooKeeper的连接以及重试操作;
- Curator Recipes提供了使用ZooKeeper的一些通用的技巧(方法);
- Curator Service Discovery分布式的服务发现和服务管理;
- Curator Test提供了基于ZooKeeper的单元测试工具。
在基本的使用过程中,经常会用到Curator framework,Recipes等。这里分别介绍下这几个库的使用。
Curator frameowrk使用指南
特点
- 自动化的连接管理:重新建立到ZooKeeper的连接和重试机制;
- 清理API:简化了原生的ZooKeeper的方法,事件等
提供了一个现代的流式接口; - 提供了Recipes实现,提供Leader Election,Shared Lock,分布式队列,分不死you xian;
依赖库说明
首先看下Curator framework的mvn库,这里使用3.0版本来学习相关内容:
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework --><dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>3.0.0</version></dependency>
使用时注意:
Curator框架通过CuratorFrameworkFactory以工厂模式和builder模式创建CuratorFramework实例。
工厂方法newClient()提供了一个简单方式创建实例。 而Builder提供了更多的参数控制。一旦你创建了一个CuratorFramework实例,你必须调用它的start()启动,在应用退出时调用close()方法关闭.
使用指南
RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);CuratorFramework curatorFramework = null; try { curatorFramework = CuratorFrameworkFactory.newClient("192.168.1.169:2181", retryPolicy); curatorFramework.start(); System.out.println(curatorFramework.getState().toString()); } catch (Exception e) { } finally { CloseableUtils.closeQuietly(curatorFramework); }
ZNode的基本操作:
增删改查:
client.create().forPath("/head", new byte[0]);client.delete().inBackground().forPath("/head");client.create().withMode(CreateMode.EPHEMERAL_SEQUENTIAL).forPath("/head/child", new byte[0]);client.getData().watched().inBackground().forPath("/test");
参考资料:
- http://ifeve.com/zookeeper-curato-framework/
参考资料:
- http://curator.apache.org/
- zookeeper Curator
- Zookeeper:Curator
- zookeeper-curator
- Zookeeper与Curator
- ZooKeeper客户端curator应用
- 使用curator操作zookeeper
- zookeeper Curator客户端
- zookeeper之curator
- zookeeper curator 源码试读
- zk007 zookeeper curator api
- zookeeper客户端curator使用手记
- Zookeeper学习(Curator使用)
- Zookeeper ---- Curator 框架应用
- 使用Curator操作ZooKeeper
- zookeeper客户端curator
- zookeeper Curator框架 API
- zookeeper Curator 监听
- zookeeper Curator 场景应用
- oracle 导入txt
- 数组名和数组名取地址的区别
- 1013. Battle Over Cities (25)
- 传纸条[NOIP 2008提高组][Codevs 1169]
- mysql常用的增删改操作
- Zookeeper:Curator
- 搞懂 res ->values + res ->drawable : 资源
- Linux下部署wowza流媒体HA文档
- 程序猿必知 — Android Support Library 23.2
- TCP 的三次握手 与 四次挥手详
- 生产者与消费者问题/有限缓冲问题
- Asp.Net MVC4 系列--进阶篇之路由 (2)
- No ulink device found肿么办
- JavaSE导论