标签:ima queue 线程池 基本 http 实现机制 proc 线程 技术
疑问:PullRequest何时添加?
PullMessageService提供延迟添加与立即添加2种方式
疑问:PullRequest是在什么时候创建的呢?
1.上上图中 PullRequest pullRequest = this.pullRequestQueue.take(); this.pullMessage(pullRequest);mq根据PullRequest拉取任务执行完一次消息拉取任务之后,又将PullRequest对象放入到pullRequestQueue,第二个是在RebalancceImpl中创建。
PullMessageService只有在拿到PullRequest对象时才会执行拉取任务,看一下PullRequest的属性:
看下this.pullMessage的实现:
ProcessQueue是MessageQueue在消费端的重现,快照。PullMessageService从消息服务器默认每次拉取32条消息,按消息的队列偏移量顺序存放在ProcessQueue中,PullMessageService之后将消息提交到消费者消费线程池,消息成功消费后从ProcessQueue中移除。
消息拉取基本流程:
标签:ima queue 线程池 基本 http 实现机制 proc 线程 技术
原文地址:https://www.cnblogs.com/lccsblog/p/12240113.html