通过源码分析 rocketmq 消息产生与消费如何实现
PUSH 模型消息消费示例
1 |
|
consumer 端请求消息
PUSH 模型其实是通过 PULL 实现,关键是 RebalanceService 和 PullMessageService。
RebalanceService 负责定期产生 PullRequest,表示要从哪里拉取消息
PullMessageService 负责定期处理 PullRequest, 到 broker 拉取消息并消费
生成 PullRequest
1 |
|
消息拉取
1 |
|
消费消息
1 |
|
broker 拉取消息
1 |
|