Java访问Zookeeper篇
比较常用的 Java 客户端有 zkclient、curator。
一、Curator框架
由于 Curaotr 对于 zookeeper 的抽象层次比较高,简化了zookeeper 客户端的开发量。使得 curator 逐步被广泛应用。
- 封装 zookeeper client 与 zookeeper server 之间的连接处理
- 提供了一套 fluent 风格的操作 api
- 提供 zookeeper 各种应用场景(共享锁、leader 选举)的抽象封装
1、依赖jar包
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.2.0</version>
</dependency>
2、增删改查操作
指向项目地址:https://gitee.com/kylin1991_admin/help-s/blob/master/zookeeper-h/src/test/java/org/example/curator/CuratorDemoTest.java
3、节点事件监听
指向项目地址:https://gitee.com/kylin1991_admin/help-s/blob/master/zookeeper-h/src/test/java/org/example/curator/WatcherDemoTest.java
4、节点权限设置
指向项目地址: https://gitee.com/kylin1991_admin/help-s/blob/master/zookeeper-h/src/test/java/org/example/curator/AclDemoTest.java
5、实现分布式锁
指向项目地址:https://gitee.com/kylin1991_admin/help-s/blob/master/zookeeper-h/src/test/java/org/example/curator/LockDemoTest.java
acquire():尝试获取锁,不成功就等待
release():释放锁
6、实现Leader选举
指向项目地址:https://gitee.com/kylin1991_admin/help-s/blob/master/zookeeper-h/src/main/java/org/example/curator/LeaderSelectorClient.java
对于原RPC的改造
加入netty,加入zookeeper的注册中心
v1版本地址:https://blog.youkuaiyun.com/qq_39938758/article/details/105285988
v2版本地址:https://blog.youkuaiyun.com/qq_39938758/article/details/105303334
//todo 地址 v3版本:加入netty、加入Zookeeper实现注册中心