Zookeeper源代码阅
来源:互联网 发布:淘宝卖的红酒能喝吗 编辑:程序博客网 时间:2024/05/19 22:26
zookeeper 客户端的实现主要由以下三个类完成:
- org.apache.zookeeper.ZooKeeper
- org.apache.zookeeper.ClientCnxn
- org.apache.zookeeper.ClientCnxnSocketNIO
org.apache.zookeeper.ZooKeeper主要是一层api的封装,客户端程序用到一个Zookeeper实例就可以进行所有的操作
ZKWatchManager是在org.apache.zookeeper.ZooKeeper下的内部类,包含三个私有属性dataWatches、existWatches、childWatches, ZKWatchManager主要负责管理所有ClientCnxn从server集群上得到Watch事件
ClientCnxn是client端的核心实现,其中包含了两个轮寻的线程SendThread和EventThread,SendThread主要轮循从outgoingQueue队列中取得Zookeeper塞入的Packet包,通过ClientCnxnSocketNIO发送给服务器,并把发送的packet塞入pendingQueue队列中等待服务端的response,同时也从同服务端建立的管道中读取response把相应的packet移出pendingQueue,放入EventThrad负责处理的waitingEvents队列中,SendThread也负责和集群连接的建立、断开和session的ping连接,EventThread负责处理waitingEvent队列中packet,把packet中finished标识为true,使得阻塞的客户端函数返回并且取得packet中的response,根据不同的response调用不同的回调实现方法处理事件,其中waitingEvent队列采用LinkedBlockingQueue
http://2375.me/2013/10/31/Zookeeper-Client-Implementation-Analysis.html
- Zookeeper源代码阅
- ZooKeeper源代码解读之ZooKeeper********************************
- zookeeper 客户端源代码剖析
- Zookeeper 源代码编译导入Eclipse
- Zookeeper源代码阅读分析之watcher机制
- Zookeeper使用Ant 编译源代码报错
- Twitter Storm源代码分析之ZooKeeper中的目录结构
- Twitter Storm源代码分析之ZooKeeper中的目录结构
- Twitter Storm源代码分析之ZooKeeper中的目录结构
- Twitter Storm源代码分析之ZooKeeper中的目录结构
- Twitter Storm源代码分析之ZooKeeper中的目录结构
- Twitter Storm源代码分析之ZooKeeper中的目录结构
- Twitter Storm源代码分析之ZooKeeper中的目录结构<转>
- zookeeper的两种分布式锁的源代码点评
- zookeeper
- zookeeper
- zookeeper
- zookeeper
- Javascript 面向对象编程(一):封装
- Javascript面向对象编程(二):构造函数的继承
- 数据结构——红黑树(RB-Tree)
- 青花釉里红首当其冲成为市场重点关注的焦点
- sudo权限的修改
- Zookeeper源代码阅
- iOS 关于队列线程和后台异步运行程序
- sessionFactory.openSession().save(Obj),只执行了select max (id) from XXtable问题
- 『ANDROID』Android: Multiple Fragments stack in each ViewPager Tab
- Javascript面向对象编程(三):非构造函数的继承
- Android中Socket大文件断点上传
- 解决spring mvc3.1下post json出现 400 后台不报错问题
- RMQ算法分析
- C++ overload 、override、overwrite 之间的区别