什么是Curator
Curator是一个ZooKeeper 的管理员。
组件:
(1) Recipes:基于Curator Framework的一些recipe实现
(2) Framework:提供了一些高水平的api,简化对zookeeper的操作,同时增加了一些新特性处理集群下的连接管理和重试操作
(3) Utilities:提供可很多的实用工具
(4) Client:zookeeper的客户端封装,替代捆绑的ZooKeeper 类,解决了一些低级的管理并提供一些有用的工具
(5) Errors:关注错误处理,连接问题,可回收异常等
(6) Extensions:一些curator-recipes包的扩展,实现了通用的recipes扩展,为了避免包膨胀,recipes/applications做了垂直的切分,分到了extension扩展包里面,包的命名是按照curator-x-name的规则
Maven依赖
GroupID/Org | ArtifactID/Name | Description |
org.apache.curator | curator-recipes | All of the recipes. Note: this artifact has dependencies on client and framework and, so, Maven (or whatever tool you're using) should pull those in automatically. |
org.apache.curator | curator-framework | The Curator Framework high level API. This is built on top of the client and should pull it in automatically. |
org.apache.curator | curator-client | The Curator Client - replacement for the ZooKeeper class in the ZK distribution. |
org.apache.curator | curator-test | Contains the TestingServer, the TestingCluster and a few other tools useful for testing. |
org.apache.curator | curator-examples | Example usages of various Curator features. |
org.apache.curator | curator-x-discovery | A Service Discovery implementation built on the Curator Framework. |
org.apache.curator | curator-x-discoveryserver | A RESTful server that can be used with Curator Discovery. |
org.apache.curator | curator-x-rpc | A proxy that bridges non-java environments with the Curator framework and recipes. |
版本:
目前Curator有两个release的版本,2.x.x 和3.x.x:
(1) Curator 2.x.x ,兼容zookeeper3.4.x 和ZooKeeper 3.5.x
(2) Curator 3.x.x,兼容ZooKeeper 3.5.x 并且包含对于新特性的支持,比方说动态重新配置等
ZooKeeper3.5.x 增加了很多的新特性,包括动态重新配置,watcher 删除等,Curator 3.x.x Jira 追踪了这些特性:https://issues.apache.org/jira/browse/CURATOR-159