Blog
zookeeper-01 入门
概述
zookeeper是一个开源的分布式的
zookeeper从设计模式来理解:是一个基于观察者模式设计的分布式服务管理框架,负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,zookeeper就将负责通知已经在zookeeper上注册的那些观察者做出相应的反应
zookeeper = 文件系统 + 通知机制
特点
- zookeeper:一个领导者leader,多个跟随者follower组成的集群
- 集群中只要有半数以上节点存活,zookeeper集群就能正常服务
- 全局数据一致,每个server保存一份相同的数据副本,client无论连接到哪个server数据都是一致的
- 更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次进行
- 数据更新原子性,一次数据更新要么成功,要么失败
- 实时性,在一定时间范围内,client能读到最新数据
数据结构
每个节点称作一个ZNode
每个ZNode默认能够存储1MB的数据
每个ZNode都可以通过其路径唯一标识
应用场景
统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡
- zookeeper可以实现实时监控节点状态变化
- 可将节点信息写入zookeeper上的一个ZNode
- 监听这个ZNode可获取它的实时状态变化