-
什么是Zookeeper
官方说明:
Zookeeper是一种维护配置信息,命名,提供分布式同步和分组服务的服务器。它帮助协调分布式系统间的合作,降低维护和管理难度。 -
Zookeeper的设计目标
- 简单。Zookeeper拥有类似fs(文件系统)的树形结构,与fs中文件与目录相对应的是zk中znode,与文件系统不同的是,zk的znode是存储在内存中的。
- 可集群。组成zk服务的服务器能感知到相互的存在。只要主服务器(leader)可用,则zk的服务就可用。客户端连接一个单一的服务器,客户端会维护一个TCP连接,通过这个连接,客户端可以发送请求,获取响应,获取监听事件和发送心跳(heart beat),如果这个TCP连接断开了,这个客户端将会连接到一个不同的服务器。
- 有序性,zk将会记录一个数字去反映zk事务的顺序
- 快速的,zk适合读多写少的情况
-
数据模型与分层命名空间
-
结点与临时结点
- zk的每个结点都有值
- znode维护了一个状态结构,这个结构包含数据变更,ACL变更和时间戳的多个版本号去允许缓存校验和协调更新
- 临时结点,zk拥有临时结点的表示方法,只要创建结点的session未关闭,这个结点就存在
-
条件性更新和监听
zk支持一个监听的概念,客户端可以监听一个znode的改变,一旦这个znode结点发生改变,客户端将会收到一个关于结点改变的通知。 -
实现
leader处理写请求,followers处理读请求
初识Zookeeper
最新推荐文章于 2024-07-10 21:48:34 发布