Zookeeper到底是什么?能干什么,以及Zookeeper的特性,数据结构等
Zookeeper是什么?
从设计模式的角度来理解,是基于观察者模式设计的分布式服务管理框架。
他负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些观察者的状态发生改变,Zookeeper就将负责通知已经在Zookeeper上的那些观察者做出相应的反应。(是什么)
Zookeeper=文件系统+通知机制
Zookeeper的特性
1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。
2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。
3)数据全局一致性,每个server中保存一份相同的数据副本,Client 无论连接到 哪个Server,数据都是一致的。
4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。
5)数据更新原子性,一次数据更新要么成功,要么失败。
6)实时性,在一定时间范围内,Client能读取到最新的数据(读取数据的时间非常短,因为数据量非常非常小)。
Zookeeper的使用场景
1)配置管理可以交由Zookeeper实现
可以将配置信息写入Zookeeper的一个ZNode,各个客户端服务器监听这个ZNode。
一旦ZNode中的数据被修改,Zookeeper将通知各个客户端服务器。
Zookeeper的数据结构
Zookeeper数据模型的结构与Unix文件系统很类似,整体可以看做一棵树,每个节点称作一个ZNode。每个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~