消息队列RocketMQ版:基础消息收发功能体验

简介: 【2月更文挑战第1天】假期闲着无聊,随便体验一下。本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。

背景知识

消息队列RocketMQ版

产品地址:https://www.aliyun.com/product/rocketmq?spm=a2c6h.13858375.0.0.6171254aWbFPWT

消息队列RocketMQ版是阿里云基于Apache RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式“消息、事件、流”统一处理平台。RocketMQ自诞生以来一直服务阿里集团13年,历经多次双十一万亿级数据洪峰稳定性验证。企业版RocketMQ在稳定性、弹性能力、企业级特性、服务SLA等方面拥有更多优势。

image.png

关键术语

实例(Instance)

消息队列RocketMQ版中用户运维消息产品的顶层资源,对应一个物理集群。使用消息之前必须创建实例,并在实例下创建对应的逻辑资源。

主题(Topic)

消息队列RocketMQ版中消息传输和存储的顶层容器,用于标识同一类业务逻辑的消息。主题通过TopicName来做唯一标识和区分。更多信息,请参见主题(Topic)。

消费者分组(ConsumerGroup)

消费者分组是消息队列RocketMQ版系统中承载多个消费行为一致的消费者的负载均衡分组。和消费者不同,消费者分组并不是运行实体,而是一个逻辑资源。在消息队列RocketMQ版中,通过消费者分组内初始化多个消费者实现消费性能的水平扩展以及高可用容灾。更多信息,请参见消费者分组(ConsumerGroup)。

消费者(Consumer)

消费者是消息队列RocketMQ版中用来接收并处理消息的运行实体。消费者通常被集成在业务系统中,从消息队列RocketMQ版服务端获取消息,并将消息转化成业务可理解的信息,供业务逻辑处理。更多信息,请参见消费者(Consumer)。

消息(Message)

消息是消息队列RocketMQ版中的最小数据传输单元。生产者将业务数据的负载和拓展属性包装成消息发送到消息队列RocketMQ版服务端,服务端按照相关语义将消息投递到消费端进行消费。更多信息,请参见消息(Message)。

实验步骤

创建RocketMQ Topic、Group资源

双击打开远程桌面的Chronmium网页浏览器。

https://ons.console.aliyun.com/overview

在左侧导航栏中,单击实例列表。

image.png

在实例列表页面,找到实验室分配的消息队列RocketMQ版实例,单击实例ID。

image.png

在左侧导航栏中,单击Topic管理。

image.png

在Topic管理页面,单击创建Topic。

image.png

在创建Topic面板,根据如下说明配置参数,然后单击确定。

  • 主题名称:输入Topic名称,例如demo_topic。

  • 消息类型:本实验是基本消息收发体验,请选择普通消息。

  • 描述:输文字描述,用于标识这个topic的作用,例如test。

image.png

image.png

在左侧导航栏中,单击Group管理。

image.png

在Group管理页面,单击创建Group。

image.png

在创建Group面板,根据如下说明配置参数,然后单击确定。

  • GroupID:输入Group名称,例如demo_group。

  • 投递顺序性:本实验是基本消息收发体验,请选择并发投递。

  • 描述:输文字描述,用于标识这个group的作用,例如test。

image.png

登录云服务器ECS,运行消费消息程序

切换至Web Terminal,自动连接到云服务器ECS。

执行如下命令,运行消费者程序,观察消息消费情况。

java -cp demo.jar -Dendpoints=xxx -Dtopic=xxx -Dgroup=xxx  workshop.ConsumeMessageDemo

预期的输出结果如下,因为没运行消息发送程序,所以消费者程序中没有可以消费的消息。

image.png

运行消息发送程序

新增一个终端窗口,执行如下命令,运行消息发送程序。

java -cp demo.jar -Dendpoints=xxx -Dtopic=xxx -Dnum=xxx  workshop.ProduceMessageDemo

image.png

预期的输出结果如下。

image.png

切换至上一步的终端中,在消费者程序中预期的输出结果如下。

image.png

根据上述消息发送和消费消息两个运行步骤,可以看出消息队列RocketMQ版支持在多个客户端之间可靠传输消息,实现业务解耦。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
6月前
|
物联网 Go 网络性能优化
使用Go语言(Golang)可以实现MQTT协议的点对点(P2P)消息发送。MQTT协议本身支持多种消息收发模式
使用Go语言(Golang)可以实现MQTT协议的点对点(P2P)消息发送。MQTT协议本身支持多种消息收发模式【1月更文挑战第21天】【1月更文挑战第104篇】
486 1
|
4月前
|
消息中间件 API 开发工具
消息队列 MQ使用问题之如何开启RabbitMQ的MQTT功能
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 监控 数据安全/隐私保护
就软件研发问题之在RocketMQ的服务端开启认证功能的问题如何解决
就软件研发问题之在RocketMQ的服务端开启认证功能的问题如何解决
|
4月前
|
消息中间件 存储 RocketMQ
MetaQ/RocketMQ 原理问题之在解耦场景中,消息队列工作的问题如何解决
MetaQ/RocketMQ 原理问题之在解耦场景中,消息队列工作的问题如何解决
|
5月前
|
消息中间件
RabbitMQ是一个功能强大的开源消息代理软件,用于处理消息队列
RabbitMQ是一个功能强大的开源消息代理软件,用于处理消息队列
43 0
|
6月前
|
物联网 Go 网络性能优化
MQTT协议本身支持多种消息收发模式
MQTT协议本身支持多种消息收发模式【1月更文挑战第24天】【1月更文挑战第120篇】
142 3
|
6月前
|
消息中间件 数据库 RocketMQ
Springboot+RocketMQ通过事务消息优雅的实现订单支付功能
RocketMQ的事务消息,是指发送消息事件和其他事件需要同时成功或同时失败。比如银行转账, A银行的某账户要转一万元到B银行的某账户。A银行发送“B银行账户增加一万元”这个消息,要和“从A银 行账户扣除一万元”这个操作同时成功或者同时失败。RocketMQ采用两阶段提交的方式实现事务消息。
253 0
|
24天前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
65 7
|
19天前
|
消息中间件 存储 Kafka
MQ 消息队列核心原理,12 条最全面总结!
本文总结了消息队列的12个核心原理,涵盖消息顺序性、ACK机制、持久化及高可用性等内容。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
23天前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!