zookeeper
IT面试
466 ·
0 ·
2023-02-08 16:48:00
最新编辑原因:

Zookeeper 工作原理

Zookeeper 的核心是原子广播,这个机制保证了各个 server 之间的同步。实现这个机制的协议叫做 Zab 协议。Zab 协议有两种模式,它们分别是恢复模式和广播模式

  • 为什么要实现锁?在多线程环境下,由于上下文的切换,数据可能出现不一致的情况或者数据被污染,我们需要保证数据安全,所以想到了加锁

  • 所谓的加锁机制呢,就是当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问,直到该线程读取完,其他线程才可使用。

应用场景

  1. 服务注册与订阅(共用节点)

  2. 分布式通知(监听znode)

  3. 服务命名(znode特性)

  4. 数据订阅、发布(watcher)

  5. 分布式锁(临时节点)

zk是个数据库,文件存储系统,并且有监听通知机制(观察者模式).

zk存储的节点(节点名称都是唯一的)
  1. 持久化节点(zk断开节点还在)

  2. 持久化顺序编号目录节点

  3. 临时目录节点(客户端断开后节点就删除了)

  4. 临时目录编号目录节点(可以实现分布式锁)


本作品系原创,采用《署名-非商业性使用-禁止演绎4.0 国际》许可协议.转载请说明出处
本文链接:https://www.upupor.com/u/KMAnaYO 复制

无内容