消息消费要注意的细节|学习笔记

简介: 快速学习消息消费要注意的细节

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第四阶段消息消费要注意的细节】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/686/detail/11912


消息消费要注意的细节


1、代码

@RocketMQMessageListener(

I consumerGroup ="shop",//消费者分组

topic="order-topic",//要消费的主题

consumeMode=ConsumeMode.CONCURRENTLY//消费模式:无序和有序

messageMode]=MessageMode1.CLUSTERING,//消息模式:广播和集群,默认是集群

)

public class SmsService implements

RocketMQListener<Order> {}

消费的细节是围绕着 RocketMQ Listener, RocketMQ 的消息监听路径展开:

packagecom.itheima.service;

import com.itheima.domain.order;

import lombok.extern.slf4i.Slf4i;

import

org.apache.rocketmg.spring.annotation.RocketMOMes

sageListener:

import

orq.apache.rocketmg.spring.core.RocketMolistener;

import orq.springframework.stereotype.Service;

@S1f4j

@Service

//consumerGroup-消费者组名topic-要消费的主题

@RocketMOMessageListener(

consumerGroup="shop-user",//消费者组名

topic="order-topic",//消费主题

consumeMode =ConsumeMode.CONCURRENTLY/消费模式,

指定是否顺序消费CONCURRENTLY(同步默认) ORDERLY()

messaqeModel =MessaqeMode1.CLUSTERING//消息模式

BROADCASTING(广播) CLUSTERING(集群,默认)

//点进 messaqeModel 可以看到默认的为集群模式

image.png

2、RocketMQ 支持两种消息模式

广播消费:每个消费者实例都会收到消息,也就是一条消息可以被每个消费者实例处理:

集群消费:一条消息只能被一个消费者实例消费

image.png

比如有两个消息消费者生产者向里面投一个消息,如果是集群意味着一个消息消费者消费,另一个没法再消费。如果是广播意味着个消息会消费一次,另一个也消费一次

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
22天前
|
消息中间件 存储 运维
RocketMQ 深度解剖:模块划分与集群原理的硬核解析
本文深入解析Apache RocketMQ的核心模块与集群原理,涵盖NameServer路由机制、Broker存储结构、Producer负载均衡及Consumer消费模式,结合实战案例与性能优化策略,全面掌握其在分布式系统中的高可用架构设计与应用实践。
180 5
|
4月前
|
SQL 关系型数据库 MySQL
explain的type几种类型详解
在 MySQL 中,使用 EXPLAIN(或 EXPLAIN SELECT ...)可以查看 SQL 语句的执行计划,而其中最重要的字段之一就是 type。它表示 MySQL 在执行查询时访问数据表的方式(即访问类型),也叫做 连接类型(Join Type)。
|
5月前
|
人工智能 自然语言处理 监控
软件开发效率低,如何通过AI技术实现软件开发的全面智能化?—— 解析大模型和RAG技术的关键作用
三桥君指出大模型与RAG技术正推动软件工程智能化变革,覆盖需求分析、代码生成、测试和CI/CD全流程。AI可自动解析需求、生成代码、检测缺陷并优化部署,显著提升效率与质量。RAG技术通过检索增强生成,使AI具备知识库实时调用能力。二者的结合让开发者向架构师角色转型,降低人力成本。本文AI专家三桥君从技术融合、场景应用及行业影响展开分析,指出智能化将重塑软件开发范式,开启软件工程新黄金时代。
508 0
|
消息中间件 弹性计算 网络安全
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
|
消息中间件 Java API
消息队列 MQ产品使用合集之遇到"No topic route info in name server for the topic"错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
存储 NoSQL 安全
红包系统架构设计
红包系统架构设计
2288 0
红包系统架构设计
|
Java
java List数组根据给定大小分割数组
在获取到很长的数组时,一次性处理数据量太大,需要分批处理,这就需要分批处理了。 1、使用List的subList,封装方法 2、google工具类型Lists的partition 经测试个人推荐使用第一种方法,效率上快了10几倍,估计是因为没有重新生成数组的原因
560 8
|
NoSQL Redis
spring-state-machine使用redis持久化
spring-state-machine使用redis持久化
504 0