4. ZooKeeper - Watch机制的存储与触发
2021-03-30 20:05:49 0 举报
登录查看完整内容
为你推荐
查看更多
ZooKeeper中的事件机制,客户端服务端如何存储监听器,以及何时触发的原理图
作者其他创作
大纲/内容
DataTree.processTxn()
4. 收到监听通知queueEvent
WatchManager
2. 处理watch
BlockingDeque<Packet> outgoingQueue
FinalRequestProcessor.processRequest
4. 发生事务操作触发监听
watcher.process
watchers
BlockingQueue<Request> submittedRequests
getFirst
LinkedBlockingQueue<Object> waitingEvents
triggerWatch
doIO()
existsRequest.getWatch() ? cnxn服务端将连接当做watch存储
processEvent
服务端处理监听,触发监听
finishPacket
EventThread
add
3.regist
1. take()
ZKWatchManager
2. read
创建WatchRegistration构建Packet
RequestThrottler
SendThread
event和watchers共同构建对象add进入队列
1. write
NIOServerCnxn.sendResponse
3. put
take
Watcher.process
客户端注册监听
执行用户定义的Watch代码块
0 条评论
回复 删除
下一页