有点不一样的ZooKeeper博客
一些前话
网上关于ZooKeeper的文章属实一大堆,基本概念,使用场景,甚至原理都可以找到,现在仅说个人对ZK的一点浅理解。
ZK很多情况下用于分布式场景,提供分布式服务。在很多分布式应用中,ZooKeeper经常是最核心的组件,他控制着各应用组件的协同。通俗来讲,各应用组件将ZooKeeper当做数据库来读写(这样说可能不太恰当),通过ZooKeeper进行交互,例如将配置存在某个节点,供其他模块读取;或者监听某节点,当发现该节点发生变化,做一些动作等。
CentOS7 安装 ZooKeeper
$ wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
# 将该安装包移动至 /usr/local/ 下 (任意目录均可)
$ mv apache-zookeeper-3.8.0-bin.tar.gz /usr/local
$ cd /usr/local
$ tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz
# 配置环境变量
$ vi /etc/profile
# 在末尾加入以下内容---
export ZOOKEEPER_HOME=/usr/local/apache-zookeeper-3.8.0-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH
# ---
$ source /etc/profile
环境OK之后,进行测试安装是否成功
cd /usr/local/apache-zookeeper-3.8.0-bin/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
# 在zoo.cfg中添加---
dataDir=/usr/local/apache-zookeeper-3.8.0-bin/data
dataLogDir=/usr/local/apache-zookeeper-3.8.0-bin/logs
# ---
cd /usr/local/apache-zookeeper-3.8.0-bin/bin
sh zkServer.sh
sh zkCli.sh
如下图所示,即安装成功。
Springboot 集成 ZooKeeper
源代码地址 - Springboot集成ZooKeeper
注释写在Controller中方法上,请先阅读。
代码不具有健壮性,仅做理解,不可用于生产环境。