-
近期文章
标签
文章归档
- 2020 年一月
- 2019 年六月
- 2018 年四月
- 2017 年八月
- 2017 年七月
- 2016 年十一月
- 2016 年十月
- 2016 年六月
- 2016 年五月
- 2016 年一月
- 2015 年十二月
- 2015 年十一月
- 2015 年十月
- 2015 年九月
- 2015 年八月
- 2015 年六月
- 2015 年五月
- 2015 年四月
- 2015 年三月
- 2015 年一月
- 2014 年十二月
- 2014 年九月
- 2014 年八月
- 2014 年六月
- 2014 年五月
- 2014 年四月
- 2014 年三月
- 2014 年一月
- 2013 年十二月
- 2013 年十一月
- 2013 年十月
- 2013 年九月
- 2013 年八月
- 2013 年七月
分类目录
功能
月归档:2015年08月
RocketMQ学习(七):消息的生命周期下之消息的消费
源代码版本是3.2.6。接着上一篇消息的产生,这篇是消息的消费。Consumer选择DefaultMQPushConsumer为例。 1.DefaultMQPushConsumer.start()开始。 2.RebalanceService.run()方法定时调用RebalanceImpl.doRebalance()方法,该方法内部是遍历订阅的topic,执行rebalanceByTopic(topic)。 3.调用RebalanceImpl.updateProcessQueueTableInRebalance(),构造PullRequest,从Broker获取nextOffset,pullRequest.setNextOffset(nextOffset),同时更新本地消费进度记录。 4.调用RebalancePushImpl.dispatchPullRequest(List)。 5.调用PullMessageService.executePullRequestImmediately(final PullRequest)放入pullRequestQueue队列中去。 6.PullMessageService.run()从pullRequestQueue队列中取出PullRequest,调用DefaultMQPushConsumerImpl.pullMessage(pullRequest)作拉取消息的动作。