网站首页 > 博客文章 正文
RocketMQ 消费模式有几种?
1. 集群消费模式
一条消息只会被同Consumer Group中的一个Consumer消费。多个Consumer Group同时消费一个Topic时,每个Consumer Group都会有一个Consumer消费到数据。
2. 广播消费模式
消息将对一 个Consumer Group 下的各个 Consumer 实例都消费一遍。即使这些 Consumer 属于同一个Consumer Group ,消息也会被 Consumer Group 中的每个 Consumer 都消费一次。
一、集群消费模式
适用于消费端集群化部署,每条消息只需要被处理一次的场景。此外,由于消费进度在服务端维护,可靠性更高。具体消费示例如下图所示。
之前的示例默认都是集群消费模式。如果没有指定消费模式,默认的是集群消费模式。
二、广播消费模式
适用于消费端集群化部署,每条消息需要被集群下的每个消费者处理的场景。具体消费示例如下图所示。
注意:广播消费模式下不支持顺序消息。广播消费模式下不支持重置消费位点。
三、广播消费模式开发实践
在示例项目中新建message-model模块,添加一个新的消费监听器,如图所示。
创建消息监听器BroadcastListener类,代码如下所示:
@Slf4j
@Component
@RocketMQMessageListener(
topic = AppConstant2.GENERAL_TOPIC,
messageModel = MessageModel.BROADCASTING, // 指定为广播消费
consumerGroup = "ArchNoteConsumerGroup"
)
public class BroadcastListener implements RocketMQListener {
@Override
public void onMessage(Object message) {
System.out.println("接收消息 - 广播模式:" + message);
}
}
我们通过messageModel = MessageModel.BROADCASTING 指定消费模式为广播消费。
然后,将之前的SpringConsumer 消息监听器的消费模式,也临时调整为广播模式:messageModel = MessageModel.BROADCASTING,如图所示:
现在,在一个消费者组(Consumer Group)ArchNoteConsumerGroup中,有两个消费者,并且采用广播模式。
启动两个Spring Boot应用,通过RocketMQ Dashboard 可视化页面-Consumer消费者,可以看到ArchNoteConsumerGroup 组中,有两个连接的Client,消费模式为BROADCASTING,如图所示:
该消费组(ArchNoteConsumerGroup)中有两个消费者,如图所示:
此时, 向对应的topic(book-topic)中发送消息,两个消费者都会收到同一条消息,并输出消息内容,如图所示:
猜你喜欢
- 2025-01-12 一次 RocketMQ 顺序消费延迟的问题定位
- 2025-01-12 线上问题之:RocketMq重复消费
- 2025-01-12 基于 RocketMQ 的分布式事务解决方案
- 2025-01-12 生产环境出现网络分区,RocketMQ集群表示毫无压力
- 2025-01-12 实战!如何从零搭建10万级 QPS 大流量、高并发优惠券系统
- 2025-01-12 RocketMQ的高性能网络通信机制竟然是如此实现?
- 2025-01-12 10 张图告诉你 RocketMQ 是怎样保存消息的
- 2025-01-12 RocketMQ系列(六)批量发送与过滤
- 2025-01-12 Canal集群快速搭建
- 2025-01-12 从放弃到入门:消息队列之RocketMQ
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 356℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)