消息队列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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4月前
|
消息中间件 数据库 RocketMQ
Springboot+RocketMQ通过事务消息优雅的实现订单支付功能
RocketMQ的事务消息,是指发送消息事件和其他事件需要同时成功或同时失败。比如银行转账, A银行的某账户要转一万元到B银行的某账户。A银行发送“B银行账户增加一万元”这个消息,要和“从A银 行账户扣除一万元”这个操作同时成功或者同时失败。RocketMQ采用两阶段提交的方式实现事务消息。
120 0
|
8月前
|
消息中间件 弹性计算 网络安全
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
393 0
|
4月前
|
消息中间件 Java Maven
什么是RabbitMQ?它的主要功能是什么?
什么是RabbitMQ?它的主要功能是什么?
46 0
|
5月前
|
存储 JSON 数据库
从 MQTT、InfluxDB 将数据无缝接入 TDengine,接入功能与 Logstash 类似
利用 TDengine Enterprise 和 TDengine Cloud 的数据接入功能,我们现在能够将 MQTT、InfluxDB 中的数据通过规则无缝转换至 TDengine 中,由于该功能在实现及使用上与 Logstash 类似,本文将结合 Logstash 为大家进行解读。
87 1
|
8月前
|
消息中间件 弹性计算 网络安全
消息队列RocketMQ版:定时消息通知功能体验
本实验场景介绍消息队列RocketMQ版的定时(延时)消息收发功能,体验发送若干条自定义延迟触发的消息,观察消息是否按照预期的投递时间投递。
574 0
|
2月前
|
消息中间件 网络协议 JavaScript
MQTT常见问题之微消息队列mqtt支持ipv6失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
2月前
|
消息中间件 物联网 Java
MQTT常见问题之微消息队列配置失败如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
2月前
|
消息中间件 存储 监控
RabbitMQ:分布式系统中的高效消息队列
RabbitMQ:分布式系统中的高效消息队列
|
2月前
|
消息中间件 Java
springboot整合消息队列——RabbitMQ
springboot整合消息队列——RabbitMQ
76 0
|
4月前
|
消息中间件 JSON Java
RabbitMQ消息队列
RabbitMQ消息队列
46 0