聊城手机网站建设价格,备案域名网站大全,模板网站多少钱,郑州竞价托管代运营文章目录 Zookeeper主要方法 Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户 端API有#xff1a; ZooKeeper官方的Java客户端API。 第三方的Java客户端API#xff0c;比如Curator。 ZooKeeper官方的客户端… 文章目录 Zookeeper主要方法 Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户 端API有 ZooKeeper官方的Java客户端API。 第三方的Java客户端API比如Curator。 ZooKeeper官方的客户端API提供了基本的操作。例如创建会话、创建节点、读取节点、更新数据、 删除节点和检查节点是否存在等。不过对于实际开发来说ZooKeeper官方API有一些不足之处具 体如下 ZooKeeper的Watcher监测是一次性的每次触发之后都需要重新进行注册。 会话超时之后没有实现重连机制。 异常处理烦琐ZooKeeper提供了很多异常对于开发人员来说可能根本不知道应该如何处理这些抛出的异常。 仅提供了简单的byte[]数组类型的接口没有提供Java POJO级别的序列化数据处理接口。 创建节点时如果抛出异常需要自行检查节点是否存在。 无法实现级联删除。 总之ZooKeeper官方API功能比较简单在实际开发过程中比较笨重一般不推荐使用。
ZooKeeper原生客户端主要使用org.apache.zookeeper.ZooKeeper这个类来使用ZooKeeper服务。 ZooKeeper常用构造器 1 ZooKeeper (connectString, sessionTimeout, watcher) connectString:使用逗号分隔的列表每个ZooKeeper节点是一个host.port对host 是机器名或者IP地址 port是ZooKeeper节点对客户端提供服务的端口号。客户端会任意选取connectString 中的一个节点建立连接。 sessionTimeout : session timeout时间。 watcher:用于接收到来自ZooKeeper集群的事件。 使用 zookeeper 原生 API,连接zookeeper集群
Zookeeper主要方法
create(path, data, acl,createMode): 创建一个给定路径的 znode并在 znode 保存 data[]的 数据 createMode指定 znode 的类型。 delete(path, version):如果给定 path 上的 znode 的版本和给定的 version 匹配 删除 znode。 exists(path, watch):判断给定 path 上的 znode 是否存在并在 znode 设置一个 watch。 getData(path, watch):返回给定 path 上的 znode 数据并在 znode 设置一个 watch。 setData(path, data, version):如果给定 path 上的 znode 的版本和给定的 version 匹配设置 znode 数据。 getChildren(path, watch):返回给定 path 上的 znode 的孩子 znode 名字并在 znode 设置一个 watch。 sync(path):把客户端 session 连接节点和 leader 节点进行同步。 方法特点 所有获取 znode 数据的 API 都可以设置一个 watch 用来监控 znode 的变化。 所有更新 znode 数据的 API 都有两个版本: 无条件更新版本和条件更新版本。如果 version 为 -1更新为无条 件更新。否则只有给定的 version 和 znode 当前的 version 一样才会进行更新这样的更新是条件更新。 所有的方法都有同步和异步两个版本。同步版本的方法发送请求给 ZooKeeper 并等待服务器的响 应。异步版本 把请求放入客户端的请求队列然后马上返回。异步版本通过 callback 来接受来 自服务端的响应。