Zookeeper 基本应用及盲点

Posted it-worker365

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper 基本应用及盲点相关的知识,希望对你有一定的参考价值。

主要应用

From:

https://segmentfault.com/a/1190000012185452

http://blog.fens.me/zookeeper-queue/

原理: 应用zookeeper的持久化节点PERSISTENT、临时节点(断线即自动删除)、序列化节点名SEQUENTIAL、watch等特性

master选举:

在zk某个指定目录下创建一个临时节点,并写入基本信息,成功的则是master,其他做为slave,所有的slave必须watch master节点,在删除时得到通知,开始选主

技术分享图片

分布式锁:

在特定目录下创建临时序列节点,获取该节点下所有children,按照节点自增号排序,如果自己是最小的,则得到锁,否则就监听次小序号节点的删除事件。

技术分享图片

分布式队列:

当队列填满时才通知消费者来消费

要创建queue_100

/queue入队操作就是在该目录下创建节点,当达到预定数目100时,创建/queue/start消费者通过监听该目录,得到通知后来消费,使用完后删除/queue下对应节点

技术分享图片

分布式序列号:

利用序列号


 

容错:

Quorums 存活的服务器数量大于宕机的服务器数量,则可以继续使用。

假死、脑裂:

心跳不通,导致某节点假死,然后watch的节点发现master死了开始选主,选好后网络又通了,就产生了两个master节点

ZK中的解决方法:

假设某个leader假死,其余followers选举出了一个新learder,这是旧leader复活以为自己仍然是leader,向其他followers发出写请求也是会被拒绝。因为每当新leader产生时,会生成一个epoch,该epoch递增,followers如果确认了新的Leader存在,知道其epoch,就会拒绝epoch小于现任leader epoch的所有请求。

 

以上是关于Zookeeper 基本应用及盲点的主要内容,如果未能解决你的问题,请参考以下文章

Zookeeper的安装配置及基本开发

zookeeper基本概念和功能

ZooKeeper基本讲解及使用

zookeeper基本讲解及基本命令和配置 (转)

zookeeper基本概念及原理

Zookeeper基本原理与应用场景