rocketmq3.26研究之六DefaultMQPushConsumer消费流程
来源:互联网 发布:魔兽争霸软件 编辑:程序博客网 时间:2024/05/19 19:32
1 假设关系图如下:
图1
2 启动流程如下:
3 一切美好的事情都从PullMessageService的run方法开始了:
3.1 run方法会不断的从LinkedBlockingQueue中获取PullRequest对象,然后根据PullRequest进行消息拉取。
问题1:是谁把PullRequest放到LinkedBlockingQueue中呢?
答:参见一个consumerGroup只对应一个topic中,consumer的rebalance流程,rebalance完毕会将PullRequest放到LinkedBlockingQueue中,对于图1中的关系,会产生8个PullRequest,分别对应 broker_a的q0~q3和broker_b的q0~q3
问题2:PullRequest是什么?
问题3:具体如何进行消息拉取?
答:代码参见DefaultMQPushConsumerImpl.pullMessage(PullRequest pullRequest)
大概如下:
0 0
- rocketmq3.26研究之六DefaultMQPushConsumer消费流程
- rocketmq3.26研究之五DefaultMQPushConsumer
- rocketmq3.26研究之三NameServer
- rocketmq3.26研究之四DefaultMQProducer
- rocketmq3.26研究之二broker
- rocketmq3.26研究之Failover下producer的表现
- rocketmq3.26研究之Failover下consumer的表现
- rocketmq3.26研究之一存储层
- OFBIZ研究心得之六
- HLSL 研究学习之六章一节
- HLSL 研究学习之六章三节
- HLSL 研究学习之六章五节
- HLSL 研究学习之六章一节
- HLSL 研究学习之六章三节
- HLSL 研究学习之六章五节
- 深入研究Hibernate之六:原生SQL
- function object研究之六 bind example
- git 分布室工作流程之研究
- windows和linux服务器互传文件-使用PSCP
- LA_7401_HDU_5573_BinaryTree
- const——指针和引用以及复合类型
- Gearman 实现分布式处理
- UI界面下视频模式切换(多进程)
- rocketmq3.26研究之六DefaultMQPushConsumer消费流程
- 大数据项目1:客户回复预测与效益最大化
- ZOJ1654 ZOJ那个___不让我过!
- JFinal 中使用 Dubbo —— 1 改造JFinal Demo
- SurfaceView浅析
- 学习博客链接
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二)
- 卡牌游戏源代码(原创)(控制台)
- win8.1重装系统后续操作