码迷,mamicode.com
首页 > 其他好文 > 详细

12.zookeeper原理解析-服务器端处理流程之处理器链

时间:2015-05-13 21:59:15      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:zookeeper

===================斩秋|http://blog.csdn.net/quhongwei_zhanqiu===============

这部分内容我们主要讲解zookeeper请求在zookeeper server端的处理流程,对于不同角色的zookeeper具有不同的处理流程, ZookeepeerServer的start方法中会调用setupRequestProcessors()来初始化处理器链,它被子类覆写实现。

 技术分享

1.      LeaderZooKeeperServer

技术分享

看如上代码主要建立了如下的两个处理器流链

(1)    PrepRequestProcessor(线程) => ProposalRequestProcessor(调initialize) =>CommitProcessor(线程) => Leader.ToBeAppliedRequestProcessor=>FinalRequestProcessor

(2)  ProposalRequestProcessor构造器设置另一处理器链, initialize方法启动SyncRequestProcessor线程 SyncRequestProcessor(线程)=> AckRequestProcessor

技术分享

2.      FollowerZooKeeperServer

技术分享

看如上代码主要建立了如下的两个处理器流链

(1)  FollowerRequestProcessor  => CommitProcessor(线程)  =>FinalRequestProcessor(线程)

(2)  SyncRequestProcessor(线程)=> SendAckRequestProcessor

技术分享

3.      ObserverZooKeeperServer

技术分享

(1)    ObserverRequestProcessor => CommitProcessor(线程)  =>FinalRequestProcessor(线程)

(2)    SyncRequestProcessor(线程)=>  SendAckRequestProcessor

(3)    看如上代码主要建立了如下的两个处理器流链

技术分享

   

===================斩秋|http://blog.csdn.net/quhongwei_zhanqiu===============

12.zookeeper原理解析-服务器端处理流程之处理器链

标签:zookeeper

原文地址:http://blog.csdn.net/quhongwei_zhanqiu/article/details/45697533

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!