ZooKeeper源码分析
YolynHou
这个作者很懒,什么都没留下…
展开
-
3.1 ZK客户端创建节点源码解析上(基于NIO)
ZK客户端创建节点源码解析前言1. 为什么能用来做注册中心2. 创建节点2.1 ZooKeeper#create()方法2.2 ClientCnxn#queuePacket()方法 前言 众所周知! Zookeeper是一个分布式协调工具,我们能利用它特性来做特定的事情,如,利用创建节点的唯一性和有序性可以用来实现分布式锁、leader选举、分布式队列(消息),利用临时节点及其事件监听可以用来做缓存、分布式配置中心、注册中心等,其实目前最常见的就是拿它用来做注册中心。那我们今天来看看为什么能利用他来做注册中原创 2020-11-10 14:34:06 · 571 阅读 · 0 评论 -
2. ZK客户端与服务端建立连接的过程(基于NIO)
Zk客户端(ClientCnxn)中的EventThread和SendThread1. 例子1. SendThread 在上一篇《客户端启动源码分析》文章中讲到了客户端会使用两个线程去协调处理客户端与服务端的通信和watchers事件的回调,在这篇文章中我们会分析这两个线程是怎么相互纠缠的。 1. 例子 首先还是由第一篇文章来作为例子 public class ZooKeeperTestClient extends ZKTestCase implements Watcher { protected原创 2020-10-28 17:04:17 · 1213 阅读 · 0 评论 -
1. ZooKeeper启动源码分析
ZooKeeper启动与Watcher机制源码分析1. 客户端启动1. getClientCnxnSocket()2. 创建ClientCnxn实例2.1. SendThread2.2. EventThread3. 启动服务 从github上拉下来的zk源码会附带很多单元测试,咱们就源码中的ZooKeeperTestClient#create_get_stat_test()方法来分析 : public class ZooKeeperTestClient extends ZKTestCase impleme原创 2020-10-14 17:22:06 · 359 阅读 · 0 评论