
ZooKeeper
文章平均质量分 96
ZooKeeper
默辨
希望成为一个有思想的软件工程师
展开
-
浅谈Zookeeper集群选举Leader节点源码
写在前面: zookeeper源码比较复杂,本文讲解的重点为各个zookeeper服务节点之间的state选举。至于各个节点之间的数据同步,不在文本的侧重讲解范围内。 在没有对zookeeper组件有一个整体架构认识的基础上,不建议直接死磕细节。本文写作的目的也是基于此,阅读本文,希望读者能够对zookeeper集群架构有一个简单的认识。 本文附有整体架构的执行流程图,请一定要跟着代码多走几遍。本文的二-六节会对该流程中的关键点进行讲解 一、前提共识 1、了解zookeeper集群搭建 不了解如.原创 2022-05-02 15:32:16 · 1663 阅读 · 2 评论 -
浅谈Zookeeper客户端库Curator实现加锁的原理
浅谈Zookeeper客户端库Curator实现加锁的原理一、非公平锁(互斥)二、公平锁(互斥)1、概念2、源码3、补充三、共享锁1、概念2、源码 一、非公平锁(互斥) 一想到加锁,我们自然就能够想到一个基本的锁机制,如下。 下图是一个非公平锁的模型,其目的是为了提高并发的。但在Zookeeper中,非公平并不一定就会提高对应的性能,所以并非完全使用这个模型(curator使用的是公平锁模型),但是大体的流程差不多 以上加锁逻辑为,对一个请求进行加锁,如果对应的加锁对象没有锁,就去创建一个节点原创 2022-04-28 13:33:14 · 375 阅读 · 0 评论