- Zookeeper 总计结构
应用使用zookeeper 客户端使用zookeeper 服务。 Zookeeper 客户端负责和zookeeper 集群交互。 Zookeeper 集群可以有两种模式: standalone 和 quorum 模式。 处于standalone 模式的zookeeper 集群还有一个独立运行的zookeeper 节点。处于quorum 模式的zookeeper 集群包含多个zookeeper 节点。
Session
Zookeeper客户端 和集群节点中的某一个节点创建一个session, 客户端可以主动关闭session. 另外如果Zookeeper 节点没有在session 关联的timeout 时间内收到客户端的消息的话, Zookeeper 节点也会关闭session. 另外Zookeeper 客户端 如果发现连接的Zookeeper 出错, 会自动的和其他的Zookeeper 节点建立连接
数据一致性
- 全局可线性化 写入: 先到达 leader 的写请求会先被处理, leader 确定写请求的执行顺序
- 客户端FIFO 顺序 : 来自给定客户端的请求按照发送执行顺序