Curator是什么?
Apache Curator是针对Zookeeper开发的一个Java客户端类库,封装了Zookeeper底层的一些开发细节,如连接重试、重复注册Watcher、NodeExistsException等。
除此之外,Curator还提供了各种常见应用场景的抽象封装,如分布式锁、Master选举、和分布式计数器。
先附上Curator官网地址
使用Curator时,从兼容性考虑,Zookeeper版本最好为3.5+
Maven依赖简介
GroupId | ArtifactId | 描述 |
---|---|---|
org.apache.curator | curator-recipes | 常见应用场景(分布式锁、master选举)的封装,依赖client与framework包 |
org.apache.curator | curator-async | Asynchronous DSL with O/R modeling, migrations and many other features(不知咋翻译) |
org.apache.curator | curator-framework | 基于client包,提供了一些高级特性(链接重试等) |
org.apache.curator | curator-client | 封装了zk的基本API |
org.apache.curator | curator-test | 提供一些测试功能 |
org.apache.curator | curator-examples | curator的使用例子 |
org.apache.curator | curator-x-discovery | 基于framework,实现服务发现功能 |
org.apache.curator | curator-x-discovery-server | 和discovery包一并使用,提供了restful风格的服务器 |
如果只想使用Curator操作Zookeeper增伤改查,则使用curator-client包,及curator-framework包足以,maven依赖如下,由于我安装的zk版本是3.4.12,而curator从3.x版本开始需要zk3.5.x版本,否则会报错,故下文curator版本使用2.13.0
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.13.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-client</artifactId>
<version>2.13.0</version>
</dependency>
如果想使用Curator实现分布式锁、master选举,则依赖curator-recipes包
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version