zookeeper-1-基本概念

Posted by My Blog on May 12, 2021

zookeeper-1-基本概念

初次接触zookeeper大概是在2015年左右,一直都没有亲自把玩过。现如今大家都转向etcd等新鲜玩意了,才回过头来到故纸堆里挖掘挖掘,大概是因为自己喜欢历史

闲话少说,要了解zookeeper,首先要知道它提供哪些功能,用来干嘛的,然后再了解它的内部原理,是如何实现所提供的功能的

以下主要参考:

Apache ZooKeeper Tutorial – ZooKeeper Guide for Beginners

zookeeper架构

arch

数据模型

非常类似文件系统层级结构

model

交互流程

客户端读

客户端写

zk 节点间交互同步等

model

重要概念

1. znode

  • 一般节点
  • 节点状态(stat)
  • 临时节点(Ephemeral Nodes,客户端终止,则节点删除)
  • 序列节点(Sequence Nodes)

理解节点的概念非常重要,是后续核心功能的基础

2. watch

watch是一次性的,后续要监听的话,需要反复注册

3. 选主(Leader Election)

选主流程

4. session

客户端会话管理

5. 其它

如lock, barrier, queue,还有其它概念可以选择了解

model

经过上面这些基本阅读,就能知道zk是干嘛的,自身大概组成,下面就可以搭建集群自己去把玩一下了

参考

ZooKeeper 3.7 Documentation

ZooKeeper Recipes and Solutions