详解RocketMQ中的consumer

本文详细介绍了RocketMQ Consumer的创建启动流程,包括PushConsumer和PullConsumer的实现方式。PushConsumer通过注册监听消费信息,而PullConsumer则采用主动拉取消息的方式。启动流程涉及配置通知方式、消息队列分配策略、创建SubscriptionData等步骤。RocketMQ Consumer的类结构中,MQPushConsumer和MQPullConsumer分别对应不同的消费模式,Push模式通常在应用中更常见。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RocketMQ的Consumer创建启动流程

(1) Push和Pull这两种方式,本质都是Pull实现的,所以DefaultMQPullConsumerImpl的start方法启动
(2) 配置通知方式:广播/集群
(3) 配置消息队列分配策略:默认都是平均,此外还有循环平均、配置分配等。
(4) 根据Topic创建这个消费者对应的SubscriptionData,包括:TAG。
(5) DefaultMQPullConsumerImpl里面的rebalanceImpl将会把topic和SubscriptionData作为键值对存放在里面。
(6) RebalaceImpl会有消费组名,消费模式等参数
(7) start 方法启动生产者,建立连接,注册,解析路由消息,心跳等
 

Consumer的类结构

 

1.MQAdmin:底层类,上篇博客已经提过,就不再此重提

2.MQConsumer:Consumer公共的接口,常用的方法如下

如果消费失败的话,消息将会返回到broker中,并且延迟一会消费的时间

void sendMessageBack(final MessageExt msg, final int delayLevel, final String brokerN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能体格

你的鼓将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值