微服务简易设置02 Zookeeper

Zookper是一个开源的分布式的,为分布式框架提供协调服务的apache项目

工作机制: Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应

特点: 1)zookeeper:一个领导者,多个跟随者组成的集群 2)集群中只要有半数以上的节点存货,集群就能正常服务,所以zookeeper适合安装奇数太服务器 3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的 4)顺序请求顺序执行,来自同一个Client的更新请求按照其发送的顺序依次进行 5)数据更新原子性,一次数据更新要么成功,要么失败 6)实时性,在一定时间范围内,client能读取到最新的数据 统一配置管理 1)分布式环境下,配置文件同步非常常见 (1)一般要求一个集群中,所有节点的配置信息是一致的,比如kafka集群 (2)对配置文件修改后,希望能够快速同步到各个节点上 2)配置管理可由zookeeper实现 (1)可将配置信息写入zookeeper上的一个Znode (2)各个客户端服务器监听这个Znode (3)一旦Znode忠得数据被修改, zookeeper将通知各个客户端服务器

下载: 官网地址: 温馨提示:不要选择最新版,选一个稳定版本吧,可以在这选择:

安装 1.将下载好的文件放在linux目录下,自己选择目录 2.解压

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz

解压后文件目录: 如果觉得解压后的名字比较长,可以改个名字

mv apache-zookeeper-3.5.7-bin apache-zookeeper-3.5.7

配置: 我们在conf/目录下找到配置文件zoo_sample.cfg,当然这个文件时样例,我们需要将它改个名

mv zoo_sample.cfg zoo.cfg

改完之后打开这个文件 我们看到有用的参数就四个,此处需要修改的就是改数据存储的位置,不要放在临时目录下

我这边实在安装目录下建了一个zkData目录存储数据 配置完成之后,我们来启动下服务

启动zookeeper

./zkServer.sh start

执行命令后可以查看一下进程

jps

查看启动状态

./zkServer.sh status

启动客户端

./zkCli.sh

这里要记住,客户端启动不用加start

启动完,直接回车,然后输入ls / 就可以看到效果 退出客户端

quit

停止zookeeper服务端

./zkServer.sh stop

配置解读:

经验分享 程序员 微信小程序 职场和发展