Zookeeper 概念笔记整理
简介
分布式协调服务,为其他的分布式程序提供协调服务
本身就是分布式程序
提供的服务包含:
主从协调
服务器节点动态上下线
统一配置管理
分布式共享锁
统一名称服务
底层其实只包含两层服务
管理(存储和读取)用户程序提交的数据
为用户程序提供数据节点监听服务
特性
一个 leader,多个 follower 组成的集群
全局数据一致:每个 ZK 服务器的数据都是一致的,无论哪个客户端连接到 ZK,获得的数据都是一样的
分布式读写:更新请求转发,由 leader 实施
顺序执行:来自同一个客户的更新请求按照发送顺序执行
数据更新原子性:要么成功,要么失败
实时性:在一定时间范围内,客户端能得到最新的数据
数据结构
层次化结构,和文件系统差不多
每个节点叫做 znode,并且有唯一路径标识
每个 znode 可以包含数据和子节点(EPHEMERAL 不能有子节点,因为是短暂节点,连接断开后会自己删除)
客户端可以在节点上设置监视器
Znode 节点类型
有两种节点类型
短暂(EPHEMERAL)断开连接自己删除
持久(PERSISTENT)断开连接不删除
...