这是一个系列文章,归纳整理我在网易云课堂JAVA微专业学习的知识点
本文内容基于3.4.11版本
简介
Apache ZooKeeper是一种用于分布式应用程序的高性能协调服务,提供一种集中式信息存储服务。
特点
数据存在内存中,类似文件系统的树形结构(文件和目录),高吞吐量和低延迟,集群高可靠。
作用
基于ZooKeeper可以实现分布式统一配置中心、服务注册中心,分布式锁等功能。
应用案例
Hbase:进行Master选举、服务间协调
Solr:进行集群管理、Leader选举、配置管理
dubbo:服务注册
Mycat:集权管理、配置管理
Sharding-sphere:聚群管理、配置管理
同类产品
consul etcd Doozer
单机版安装
下载:http://zookeeper.apache.org/releases.html
解压后conf目录,增加配置文件zoo.cfg
简单配置如下:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
启动服务端 bin/zkServer.sh start
测试,客户端连接 bin/zkCli.sh -server 127.0.0.1:2181
客户端常用指令
指令 | 描述 |
---|---|
ls | 获取子节点 |
create | 在ZooKeeper中的某个位置穿件一个节点 |
delete | 删除节点 |
rmr | 删除非空节点 |
exists | 测试节点是否存在 |
get data | 从指定节点读取数据 |
set data | 将数据存入指定节点 |
sync | 等待数据进行同步 |
在Java中使用
由于ZooKeeper官方客户端过于底层,一般使用第三方客户端zkClient
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency>
另一个常用第三方客户端是curator
来源:CSDN
作者:hotcoffie
链接:https://blog.csdn.net/hotcoffie/article/details/104739223