Curator几个组成部分
Client: 是ZooKeeper客户端的一个替代品, 提供了一些底层处理和相关的工具方法
Framework: 用来简化ZooKeeper高级功能的使用, 并增加了一些新的功能, 比如管理到ZooKeeper集群的连接, 重试处理
Recipes: 实现了通用ZooKeeper的recipe, 该组件建立在Framework的基础之上
Utilities:各种ZooKeeper的工具类
Errors: 异常处理, 连接, 恢复等
Extensions: recipe扩展
@Bean(initMethod = "start", destroyMethod = "close")
public CuratorFramework zookeeperClient() {
//创建重试策略
RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 5);
//创建zookeeper客户端
CuratorFramework client = CuratorFrameworkFactory.builder().connectString("77.11.159.108:2181")
//.authorization()
//.connectionTimeoutMs()
//.waitForShutdownTimeoutMs()
//.sessionTimeoutMs(10000)
.retryPolicy(retryPolicy)
//.namespace("my-project")
.build();
// 连接
//client.start();
//关闭连接
//client.close();
return client;
}
zookeeper的身份认证有4种方式
(1)world: 它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的
(2)auth: 它不需要id, 只要是通过authentication的user都有权限(zookeeper支持通过kerberos来进行authencation, 也支持username/password形式的authentication)
(3)digest: 它对应的id为username:BASE64(SHA1(password)),它需要先通过username:password形式的authentication
(4)ip: 它对应的id为客户机的IP地址,设置的时候可以设置一个ip段,比如ip:192.168.1.0/16, 表示匹配前16个bit的IP段
super: 在这种scheme情况下,对应的id拥有超级权限,可以做任何事情(cdrwa)
文章来源: www.oschina.net,作者:Canaan_,版权归原作者所有,如需转载,请联系作者。
原文链接:https://my.oschina.net/u/2552286/blog/3106790