消息队列RocketMQ版:基础消息收发功能体验
1. 实验资源方式简介及开始实验
云起实验室实验资源方式介绍
云起实验室支持实验资源体验、领取免费试用额度、个人账户资源三种实验资源方式。
- 实验资源体验
- 资源归属于客户,仅供本次实验使用
- 实验结束后,实验资源及实验记录将被释放。
- 资源创建过程需要3~5分钟(视资源不同开通时间有所差异,ACK等资源开通时间较长)。完成实验资源的创建后,在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等)。
- 说明:实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。
- 领取免费试用额度
- 使用个人账号开通试用,平台仅提供手册参考。
- 所有实验操作将保留至您的账号,请谨慎操作。
- 在实验页面下方卡片会展示本实验支持的试用规格,可以选择你要试用的云产品资源进行开通。您在实验过程中,可以随时用右下角icon唤起试用卡片。阿里云支持试用的产品列表、权益及具体规则说明请参考开发者试用中心。
- 说明:试用云产品开通在您的个人账号下,并占用您的试用权益。如试用超出免费试用额度,可能会产生一定费用。
个人账户资源
使用您个人的云资源进行操作,资源归属于个人。
所有实验操作将保留至您的账号,请谨慎操作。
平台仅提供手册参考,不会对资源做任何操作。
说明:使用个人账户资源,在创建资源时,可能会产生一定的费用,请您及时关注相关云产品资源的计费概述。
准备开始实验
在实验开始前,请您选择其中一种实验资源,单击确认开启实验。
说明:每个实验所支持的实验资源方式都不相同,实验不一定能满足有三种实验资源方式,请根据实验的实际情况,进行选择。
2. 领取免费试用资源
实验前必看!
如果您的阿里云主账号符合开通云消息队列RocketMQ免费试用的资格,建议您开通免费试用云消息队列RocketMQ,云消息队列RocketMQ标准版实例只能免费试用1个月,试用期结束后您可以选择释放实例或一键转包年包月,否则超过有效期的部分将会按照按量付费方式进行计费,具体计费详情,请参见计费概述。
如果您的阿里云主账号符合开通云服务器ECS免费试用的资格,建议您开通免费试用云服务器ECS,云服务器ECS免费试用3个月,每月750小时,每小时试用产品配置,在免费小时数额度内,可支持临时调整台数、带宽、云盘,每小时金额不可超出0.59元(最大2台),超出部分需自付。试用期结束后您可以选择释放实例或继续使用实例,具体计费详情,请参见计费概述。
如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
为了避免资源浪费并造成账号扣费的情况,请严格按照本文提供的参数进行配置。在实验完成之后,请您及时删除或禁用压测任务。
在实验开始前,请您选择开通免费试用。
- 开通云消息队列RocketMQ免费试用。
2.1 在实验室页面下方,选择云消息队列RocketMQ,单击立即试用。
2.2 在云消息队列RocketMQ面板,根据如下说明进行参数配置,未提及的参数保持默认即可,选中服务协议,然后单击立即试用。
配置参数 |
本教程取值 |
说明 |
地域和可用区 |
华东1(杭州) |
云消息队列 RocketMQ 版实例所属的地域。 |
VPC ID |
vpc-bp1ov****** |
在下拉列表中选择已创建的VPC。 创建的VPC所属地域需要与本步骤的地域和可用区相同。 |
VSwitch ID |
vsw-bp14j****** |
在下拉列表中选择已创建的交换机。 创建的交换机所属地域需要与本步骤的地域和可用区相同。 |
公网访问类型 |
关闭 |
本教程以VPC接入云消息队列RocketMQ版实例为例,因此需要关闭公网访问。云消息队列RocketMQ版免费试用不包含公网,若您开启公网访问,会产生一定的费用。 |
2.3 完成试用申请后,系统将会自动创建实例。您可以访问RocketMQ实例列表,在实例列表页面查看实例,实例创建需要约1~3分钟,当实例状态为运行中时,即可正常使用。
- 开通云服务器ECS免费试用。
3.1 在实验室页面下方,选择云服务器ECS,单击立即试用。
3.2 在云服务器ECS面板上,参考如下说明配置参数,选中服务协议,单击立即试用,如弹出新的页面,您可先忽略。
参数 |
示例 |
操作系统 |
CentOS 7.9 64位。 本教程以CentOS 7.9 64位操作系统为例,如果您购买的ECS服务器使用了其他版本的操作系统,操作可能和本教程略有差异。 |
预装应用 |
本教程无需选择。 |
产品所在地域 |
华东1(杭州)。 |
到期释放设置 |
建议您选择现在设置,避免到期未释放产生扣费。 |
3.3 前往ECS控制台,在左侧导航栏,选择实例与镜像 > 实例。
3.4 在顶部菜单栏左上角处,选择和试用实例相同的地域(本教程示例华东1(杭州))。
3.5 设置该实例登录密码。找到您创建的试用实例,在其右侧操作列单击 > 实例属性 > 重置实例密码,按照界面提示设置ECS实例的登录密码,其中重置密码的方式选择离线重置密码。
实例创建完成大约3~5分钟后,才支持重置实例密码,如不可重置请耐心等待后重试。
3.6 单击试用实例的ID,选择安全组页签,单击安全组操作列的配置规则,在入方向添加需要放行的端口。本教程中,在安全组入方向放行80、443、22、3389端口。
- 领取完免费试用后,返回资源领取界面,单击我已开通,进入实验。
说明:如果您的阿里云账号只能领取部分免费试用产品,请您领取符合免费试用资格的产品,然后进入实验,不满足免费试用资格的产品将会使用个人账户资源进行创建,并会产生一定的费用,请您及时关注账户扣费。
3. 创建实验资源
- 开通消息队列RocketMQ版。
说明:
- 如果您选择的免费试用,并且在上一步骤中领取了消息队列RocketMQ版免费试用,请您跳过本步骤,直接进行下一小节操作。
- 如果您选择的免费试用,但是您的阿里云主账号没有资格领取消息队列RocketMQ版的免费试用,请您根据如下操作,开通消息队列RocketMQ版,进行按量付费,会产生后付费账单,具体计费详情,请参见计费概述。
- 如果您选择的个人资源,请您根据如下操作,开通消息队列RocketMQ版,进行按量付费,会产生后付费账单,具体计费详情,请参见计费概述。
1.1 前往消息队列RocketMQ版控制台。
1.2 在左侧导航栏,单击实例列表。
1.3 在实例列表页面,单击创建实例。
1.4 在创建RocketMQ实例面板,付费方式选择按量付费,单击确定。
1.5 在RocketMQ实例购买面板,参考如下说明配置参数,未提及的配置保持默认或按需修改,然后选中服务协议,单击立即购买。
说明:本试用教程以下列的配置信息为例,实际操作时,建议根据您的实际业务体量和需求选择。
参数说明:
参数 |
取值示例 |
主系列类型 |
标准版 |
子系列类型 |
集群高可用版本(生产环境推荐) |
消息收发计算规格 |
rmq.s2.2xlarge |
VPC ID |
选择您的VPC的ID,需要与云服务器ECS的VPC的ID相同。 重要:云消息队列RocketMQ版实例创建后,选择的VPC不支持变更。若要修改关联的VPC,您需要先释放已购买的云消息队列RocketMQ版实例,再重新购买。 |
VSwitch ID |
选择您的交换机的ID,需要与云服务器ECS的交换机的ID相同。 重要:云消息队列RocketMQ版实例创建后,选择的交换机不支持变更。若要修改关联的交换机,您需要先释放已购买的云消息队列RocketMQ版实例,再重新购买。 |
公网访问类型 |
选择关闭。 说明:本文以使用VPC接入云消息队列RocketMQ版服务端场景为例,公网访问默认关闭;若您需要通过公网接入云消息队列RocketMQ版,您需要将公网访问类型设置为开启。 |
资源组 |
默认资源组 |
1.6 在实例列表页面,等待状态变为运行中后,即可使用该消息队列RocketMQ版实例。
创建云服务器ECS。
说明:
如果您选择的免费试用,并且在上一步骤中领取了云服务器ECS的免费试用,后台会自动为您创建一台云服务器ECS实例,请您跳过本步骤,直接进行下一小节操作。
如果您选择的免费试用,但是您的阿里云主账号没有资格领取云服务器ECS的免费试用,请您根据如下操作,创建云服务器ECS,并且会产生一定的费用,详情请参考计费概述。
如果您选择的个人资源,请您根据如下操作,创建云服务器ECS,并且会产生一定的费用,详情请参考计费概述。
2.1 前往云服务器ECS控制台,在概览页面的我的资源区域,单击创建实例。
2.2 在云服务器购买页面,参考如下说明配置参数,未提及的配置保持默认或按需修改,然后选中右侧的《云服务器ECS服务条款》,单击确认下单。
说明:本试用教程以下列的配置信息为例,实际操作时,建议根据您的实际业务体量和需求选择。
参数说明:
配置项 |
示例 |
说明 |
地域 |
地域:华东1(杭州) |
实例创建后,无法直接更改地域和可用区,请谨慎选择。 |
网络及可用区 |
选择合适的专有网络和交换机,如果您要创建专有网络和交换机,请单击下方的前往控制台创建。 |
需要与消息队列RocketMQ版实例的专有网络和交换机相同。 推荐您使用专有网络,专有网络之间逻辑上彻底隔离,安全性更高,且支持弹性公网IP(EIP)、弹性网卡、IPv6等功能。 可用区是指在同一地域内,电力和网络互相独立的物理区域。同一可用区内实例之间的网络延时更小,其用户访问速度更快。 |
实例 |
规格族:共享标准型 s6 实例规格:ecs.s6-c1m1.small |
您可以前往ECS实例可购买地域,查看实例在各地域的可购情况。 |
镜像 |
公共镜像 CentOS 7.9 64位。 |
实例启动后,系统盘将完整复制镜像的操作系统和应用数据。 |
公网IP |
选中分配公网IPv4地址 |
选中后,自动分配一个公网IPv4地址。 |
带宽计费模式 |
按使用流量 |
按使用流量模式只需为所消耗的公网流量付费。详情请参见公网带宽计费。 |
带宽峰值 |
5 Mbps |
无。 |
安全组 |
选择新建安全组。 |
选择新建安全组。如果您已有开通80、443、22、3389端口的安全组,也可使用。 |
安全组类型 |
普通安全组 |
安全组按照类型划分为普通安全组和企业级安全组,两者均免费。在安全组容量、能否添加授权安全组的规则以及默认访问控制规则等方面有一定差异,适用于不同的使用场景。 |
开通IPv4端口 |
需要开通80、443、22、3389端口。 |
本实验需要开通80、443、22、3389端口。 |
登录凭证 |
自定义密码 |
本教程中选择自定义密码,并手动设置一个密码,用于远程连接并登录ECS实例。 |
登录密码 |
Ecs123456 |
当登录凭证选择自定义密码时,需要设置此选项并确认密码,在后续连接ECS实例时,您需要输入用户名root和此处设置的密码。 |
2.3 在创建成功对话框中,单击管理控制台。
2.4 在实例页面,等待状态变为运行中后,即可使用该云服务器ECS。
4. 创建RocketMQ Topic、Group资源
本步骤将指导您在RocketMQ实例上创建用于收发消息的Topic和Group资源。
- 双击打开远程桌面的Chronmium网页浏览器。
- 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码到用户密码输入框,单击登录。
- 复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问消息队列RocketMQ版控制台。
https://ons.console.aliyun.com/overview
- 在左侧导航栏中,单击实例列表。
- 在实例列表页面顶部菜单栏中,切换到资源所在地域,例如华东2(上海)。
说明:您可在云产品资源列表中查看消息队列RocketMQ版资源所在地域。
- 在实例列表页面,找到实验室分配的消息队列RocketMQ版实例,单击实例ID。
说明:您可在云产品资源列表中查看消息队列RocketMQ版的实例ID。
- 在左侧导航栏中,单击Topic管理。
- 在Topic管理页面,单击创建Topic。
- 在创建Topic面板,根据如下说明配置参数,然后单击确定。
- 主题名称:输入Topic名称,例如demo_topic。
- 消息类型:本实验是基本消息收发体验,请选择普通消息。
- 描述:输文字描述,用于标识这个topic的作用,例如test。
- 在左侧导航栏中,单击Group管理。
- 在Group管理页面,单击创建Group。
- 在创建Group面板,根据如下说明配置参数,然后单击确定。
- GroupID:输入Group名称,例如demo_group。
- 投递顺序性:本实验是基本消息收发体验,请选择并发投递。
- 描述:输文字描述,用于标识这个group的作用,例如test。
5. 创建RocketMQ Topic、Group资源
本步骤将指导您在RocketMQ实例上创建用于收发消息的Topic和Group资源。
- 前往消息队列RocketMQ版控制台。
- 在左侧导航栏中,单击实例列表。
- 在实例列表页面,找到您创建的消息队列RocketMQ版实例,单击实例ID。
- 在左侧导航栏中,单击Topic管理。
- 在Topic管理页面,单击创建Topic。
- 在创建Topic面板,根据如下说明配置参数,然后单击确定。
- 主题名称:输入Topic名称,例如demo_topic。
- 消息类型:本实验是基本消息收发体验,请选择普通消息。
- 描述:输文字描述,用于标识这个topic的作用,例如test。
- 在左侧导航栏中,单击Group管理。
- 在Group管理页面,单击创建Group。
- 在创建Group面板,根据如下说明配置参数,然后单击确定。
- GroupID:输入Group名称,例如demo_group。
- 投递顺序性:本实验是基本消息收发体验,请选择并发投递。
- 描述:输文字描述,用于标识这个group的作用,例如test。
6. 登录云服务器ECS,运行消费消息程序
本步骤将指导您如何在云服务器ECS上运行消费消息程序。
- 在实验室页面右侧功能栏中,单击 图标,切换至Web Terminal,自动连接到云服务器ECS。
- 执行如下命令,运行消费者程序,观察消息消费情况。
说明:在本实验中,已在云服务器ECS中为您准备好Demo代码。
java -cp demo.jar -Dendpoints=xxx -Dtopic=xxx -Dgroup=xxx workshop.ConsumeMessageDemo
其中,命令中的部分参数需要根据测试的实例资源的实际信息输入:
参数 |
说明 |
-Dendpoints |
实例接入点信息。在RocketMQ控制台>实例详情>TPC协议接入点>VPC专有网络的接入点信息中查看。 在本实验中,为了方便用户的操作,您可在云产品资源列表中查到VPC专有网络的接入点信息。 VPC专有网络的接入点信息格式一般为rmq-cn-{xxx}-vpc.cn-{xxx}.rmq.aliyuncs.com:8080。 说明:您可在云产品资源列表中查看VPC接入点信息,复制粘贴即可。 |
-Dtopic |
实际订阅消费的主题名称,输入创建的Topic名称。 |
-Dgroup |
实际订阅消费使用的消费者分组,输入创建的Group名称。 |
预期的输出结果如下,因为没运行消息发送程序,所以消费者程序中没有可以消费的消息。
7. 登录云服务器ECS,运行消费消息程序
本步骤将指导您如何在云服务器ECS上运行消费消息程序。
- 在实验室页面右侧功能栏中,单击图标,切换至Web Terminal。
输入ECS登录的用户名和密码进行登录。
- 执行如下命令,安装JDK。
yum -y install java-1.8.0-openjdk*
- 执行如下命令,查看是否安装成功。
java -version
返回如下结果,则表示JDK安装成功。
- 执行如下命令,下载Demo。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/RocketMQ/demo.jar
- 执行如下命令,运行消费者程序,观察消息消费情况。
java -cp demo.jar -Dendpoints=xxx -Dtopic=xxx -Dgroup=xxx workshop.ConsumeMessageDemo
其中,命令中的部分参数需要根据测试的实例资源的实际信息输入:
参数 |
说明 |
-Dendpoints |
实例接入点信息。在RocketMQ控制台>实例详情>TPC协议接入点>VPC专有网络的接入点信息中查看。 VPC专有网络的接入点信息格式一般为rmq-cn-{xxx}-vpc.cn-{xxx}.rmq.aliyuncs.com:8080。 |
-Dtopic |
实际订阅消费的主题名称,输入创建的Topic名称。 |
-Dgroup |
实际订阅消费使用的消费者分组,输入创建的Group名称。 |
预期的输出结果如下,因为没运行消息发送程序,所以消费者程序中没有可以消费的消息。
8. 运行消息发送程序
本步骤将指导您如何在云服务器ECS上运行消息发送程序。
- 在终端一窗口的右上角,单击 图标,新增一个终端窗口。
- 在终端二窗口中,执行如下命令,运行消息发送程序。
说明:在本实验中,已在云服务器ECS中为您准备好Demo代码。
java -cp demo.jar -Dendpoints=xxx -Dtopic=xxx -Dnum=xxx workshop.ProduceMessageDemo
其中,命令中的部分参数需要根据测试的实例资源的实际信息输入。
参数 |
说明 |
-Dendpoints |
实例接入点信息。在RocketMQ控制台>实例详情>TPC协议接入点>VPC专有网络的接入点信息中查看。 在本实验中,为了方便用户的操作,您可在云产品资源列表中查到VPC专有网络的接入点信息。 VPC专有网络的接入点信息格式一般为rmq-cn-{xxx}-vpc.cn-{xxx}.rmq.aliyuncs.com:8080。 |
-Dtopic |
实际发送的主题名称,输入创建的Topic名称。 |
-Dnum |
输入希望发送的消息条数,例如10,代表10条消息 |
预期的输出结果如下。
- 切换至终端窗口一,在消费者程序中预期的输出结果如下。
- 根据上述消息发送和消费消息两个运行步骤,可以看出消息队列RocketMQ版支持在多个客户端之间可靠传输消息,实现业务解耦。
9. 运行发送消息程序
本步骤将指导您如何在云服务器ECS上运行消息发送程序。
- 在终端一窗口的右上角,单击 图标,新增一个终端窗口。
- 在终端二窗口中,执行如下命令,运行消息发送程序。
说明:在本实验中,已在云服务器ECS中为您准备好Demo代码。
java -cp demo.jar -Dendpoints=xxx -Dtopic=xxx -Dnum=xxx workshop.ProduceMessageDemo
其中,命令中的部分参数需要根据测试的实例资源的实际信息输入。
参数 |
说明 |
-Dendpoints |
实例接入点信息。在RocketMQ控制台>实例详情>TPC协议接入点>VPC专有网络的接入点信息中查看。 VPC专有网络的接入点信息格式一般为rmq-cn-{xxx}-vpc.cn-{xxx}.rmq.aliyuncs.com:8080。 |
-Dtopic |
实际发送的主题名称,输入创建的Topic名称。 |
-Dnum |
输入希望发送的消息条数,例如10,代表10条消息 |
预期的输出结果如下。
- 切换至终端窗口一,在消费者程序中预期的输出结果如下。
- 根据上述消息发送和消费消息两个运行步骤,可以看出消息队列RocketMQ版支持在多个客户端之间可靠传输消息,实现业务解耦。
10. 清理及后续
云消息队列RocketMQ版
本教程使用的标准版实例只能免费试用1个月。试用期结束后您可以选择释放实例或一键转包年包月,否则超过有效期的部分将会按照按量付费方式进行计费,具体计费详情,请参见计费概述。
- 如果您无需使用云消息队列 RocketMQ 版,请按照如下操作及时清理和释放资源。
- 登录云消息队列RocketMQ版控制台,在左侧导航栏选择实例列表。
- 在目标试用实例所在的操作列选择更多>释放。
- 在弹出的对话框中单击确定。
- 如果您需要继续使用云消息队列 RocketMQ 版,可以将该试用实例转为包年包月计费类型。
- 登录云消息队列RocketMQ版控制台,在左侧导航栏选择实例列表。
- 在目标试用实例所在的付费类型列选择转包年包月。
- 按照界面提示完成购买。
云服务器ECS
ECS提供的个人版试用实例为按量付费实例。完成教程后,请参考以下规则处理实例:
- 如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列选择更多>实例状态>释放设置,根据界面提示释放实例。
- 如果需要继续使用实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。
11. 清理及后续
云消息队列RocketMQ版
- 如果您无需使用云消息队列RocketMQ 版,请按照如下操作及时清理和释放资源。
- 登录云消息队列RocketMQ版控制台,在左侧导航栏选择实例列表。
- 在目标试用实例所在的操作列选择更多>释放。
- 在弹出的对话框中单击确定。
- 如果您需要继续使用云消息队列RocketMQ 版,请及时关注账号扣费情况。
云服务器ECS
- 如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列选择更多>实例状态>释放设置,根据界面提示释放实例。
- 如果需要继续使用实例,请及时关注账号扣费情况。
实验链接:https://developer.aliyun.com/adc/scenario/364271b36dd245c18e223e3cfb2fc632