Zookeeper
其实基础别人都写了很多了,我也不怎么去堆文档了,不会就去查,主要记一记思想和原理吧,自己看到的时候能在回忆起来
# 介绍
Zookeeper(动物管理员🐒🐊🦁️🐱🐶)开源,分布式,为分布式应用提供协调服务的Apache软件
文件系统+通知机制
特点:
- 一主多从
- 只要半数以上节点存活就可以服务(半数也不行哒
- 全局数据一致,每个server保持一份相同的数据副本,Client无论连接到哪一个Server,数据全相同
- 更新请求顺序执行,比如Client1发送了3条命令,接收到的Server会先执行1,在执行2。。。
- 数据更新原子性,可以理解为事务
- 实时性,数据量小,同步副本时间短,可以保持实时
文件系统也是树形结构,节点被称为ZNode
,通过唯一路径来标示。ZNode默认存储1MB的数据
ZK一般不会实际的存储大量文件,一般用来存储以一些元数据,分布式全局锁等等。
应用场景:统一命名服务,统一配置管理,统一集群管理,服务器动态节点上下线,软负载均衡
IP不好记,可以用ZK命名集群便于管理
同步配置文件,让Client监听Server集群,只要改变一下就能快速同步(比如kafka
分布式环境中利用ZK可以实时监听每个节点的状态,可以实时调整。集群也是,当某个节点挂了,会告诉网关它罢工了,找别的服务器吧。
# 搭建
# 本地测试
要求必须有JDK,官网下载个安装包。废话不多说
# 生产部署
还没看到
# IDEA搭建ZK集群
https://blog.csdn.net/long290046464/article/details/52974061