快速学会使用云消息队列RabbitMQ版
本实验将带您体验使用云消息队列RabbitMQ版Serverless系列实例进行消息收发、查看实例指标和消息轨迹。
场景简介
在本实验场景中,将创建一个云消息队列RabbitMQ版Serverless系列实例,使用RabbitMQ开源客户端生产和消费消息,再查看Dashboard上实例的指标变化,以及查看消息轨迹。
实验架构
消息在云消息队列 RabbitMQ 版的组件之间流动的过程如下:
生产者向Exchange发送消息。
Exchange根据消息属性将消息路由到Queue进行存储。
消费者从Queue拉取消息进行消费。

实验流程
本实验流程可参考云消息队列RabbitMQ版进行消息收发的基本操作流程,如下图所示。但为了保证您能顺利完成本实验,请按照实验手册进行具体操作。

背景知识
本场景主要涉及以下云产品和服务:
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1 协议的消息产品,能够兼容开源 RabbitMQ 客户端。与开源 RabbitMQ 相比,能够解决各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
了解云消息队列RabbitMQ版Serverless系列实例
云消息队列 RabbitMQ 版 Serverless 系列实例能力和预付费系列的企业版能力一样,但 Serverless 系列实例具有更高的弹性上限,且是按量后付费的计费方式,无需提前预留资源,按照实际使用量收费,助您降本增效。
了解云消息队列RabbitMQ版Serverless系列价格
云消息队列 RabbitMQ 版 Serverless 系列实例支持根据实际使用的资源量按量后付费,您可以弹性使用资源,无需提前预留。您也可以使用价格计算器来快速评估费用:云消息队列 RabbitMQ 版Serverless系列价格计算器。
前提条件
云起实验室将在您的账号下开通本次实操资源,资源按量付费,需要您自行承担本次实操的云资源费用。
本实验使用云消息队列RabbitMQ版Serverless系列实例,实验总费用不超过0.5元(包含收发消息次数25万次)。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
进入实操前,请确保阿里云账号满足以下条件:
创建实验资源
在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》和我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操。
创建资源需要5分钟左右的时间,请您耐心等待。
在云产品资源列表,您可以查看本场景涉及的云产品资源信息。

创建阿里云AccessKey
在本实验完成后,若不再使用,建议参考实验手册步骤及时删除阿里云AccessKey。
前往AccessKey管理。
在不建议使用云账号AccessKey对话框,阅读创建主账号AccessKey的风险,如果必须要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。

在AccessKey页面,单击创建AccessKey。

根据界面提示完成安全验证。
在创建云账号AccessKey对话框,再次阅读创建主账号AccessKey的风险及主账号AccessKey使用限制,如果确定要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。

在创建AccessKey对话框,保存AccessKey ID和AccessKey Secret,然后勾选我已保存好AccessKey Secret,最后单击确定。

创建静态用户名密码
在云产品资源列表的消息队列区域,单击管理。

在左侧导航栏中,单击静态用户名密码。

在静态用户名密码页面,单击创建用户名密码。

在创建用户名密码面板,填写上一步创建的AccessKey ID和AccessKey Secret,单击确定。

返回如下页面,您可查看到创建的用户名和密码。

创建Vhost、Exchange、Queue并绑定关系
在左侧导航栏中,单击Vhost列表。

在Vhost列表页面,单击创建Vhost。

在创建Vhost面板,Vhost名称设置为yunQi-vhost。

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

在Exchange列表页面的Vhost yunQi-vhost下,单击创建Exchange。

在创建Exchange面板,Exchange名称设置为yunQi-exchange,类型选择direct,Internal选择否,单击确定。
说明更多Exchange类型说明,详情请参见Exchanges and Exchange Types。

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

在Queue列表页面的Vhost yunQi-vhost下,单击创建Queue。

在创建Queue面板,Queue名称设置为yunQi-queue,Auto delete选择否,其他选项保持默认值即可,单击确定。

创建Exchange和Queue的绑定关系。
在左侧导航栏中,单击Exchange列表。

在Exchange列表页面,单击yunQi-exchange。

在yunqi-exchange详情页面的绑定关系区域,单击添加绑定。

在添加绑定面板,绑定目标类型选择Queue,绑定目标选择创建的yunQi-queue,Routing Key设置为yunQi-routing-key,单击确定。
说明发送消息时设置的Routing Key需要和当前绑定关系中的Routing Key完全匹配,消息才能路由到Queue。本实验设置路由到yunQi-queue的Routing Key为yunQi-routing-key。

使用RabbitMQ开源客户端生产和消费消息
云消息队列RabbitMQ版与开源RabbitMQ完全兼容,请关注SDK使用注意事项。更多语言SDK,请参见SDK列表及示例代码。
打开IntelliJ IDEA,使用Git克隆RabbitMQ开源客户端demo项目。
首先需要检查确认已安装Git。若为安装Git,您可参考下方步骤进行安装。
在插件(Plugins)的Marketplace中,搜索GitToolBox,选中GitToolBox并单击右侧的安装(Install)。

在找到依赖的插件对话框中,单击是(Y)。

在GitToolBox中,单击重启IDE(Restart IDE)。

在IntelliJ IDEA和插件更新对话框中,单击重启。

在IntelliJ IDEA中,单击Get from Version Control。
说明如果您已打开一个项目,可以在IntelliJ IDEA右上角选择。

在Get from Version Control面板,Version Control选择Git,URL填写项目远程仓库地址
https://gitee.com/RongtongJin/amqp-java-demo.git,Directory选择任意一个本地文件夹或新建一个本地文件夹,单击Clone。说明导入RabbitMQ开源客户端demo项目后,在IntelliJ IDEA中请您使用Maven下载依赖。

Clone完成后进入项目,选择,双击Config.java文件,将代码中HOSTNAME、USERNAME、PASSWORD三个参数值替换为阿里云RabbitMQ实例的公网接入点、静态用户名和静态密码。
说明您可在云产品资源列表查看阿里云RabbitMQ实例的公网接入点。静态用户名和静态密码为您在“创建静态用户名密码”小节中创建的用户名和密码。

在IntelliJ IDEA中,运行amqp-java-demo文件下的ProducerTest.java文件,持续发送消息。

在IntelliJ IDEA中,运行 amqp-java-demo文件下的ConsumerTest.java文件,持续接收消息。

观察IntelliJ IDEA控制台打印的消息收发记录。


查看Dashboard的实例指标变化
返回消息队列RabbitMQ版控制台页签,在左侧导航栏中,单击Dashboard。

在服务关联角色对话框中,单击授权。
说明如果您是首次使用Dashboard功能,需要进行授权。

在开通ARMS服务对话框中,单击开通。
说明如果您是首次使用Dashboard功能,需要开通ARMS服务。

查看RabbitMQ实例的概览指标,可以查看每个Queue的消息堆积数,消息速率等指标。

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

在Queue列表页面,单击yunQi-queue。

在yunqi-exchange详情页面,单击Dashboard。

在Dashboard页签,可以查看指定Queue的详细指标变化趋势,用于定位问题。

查看消息轨迹
在左侧导航栏中,单击消息轨迹。

在消息轨迹页面,您可以根据按Message ID查询和按Queue查询。
按Message ID查询:根据IntelliJ IDEA控制台打印的msgId可以精确查询对应消息的轨迹。

按Queue查询:根据Queue名称可以查询对应Queue下所有消息的轨迹。

选择任意一条消息的轨迹,单击轨迹详情,查询对应消息的生产和投递轨迹详情。


清理资源
在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除阿里云AccessKey,再结束实操。
删除阿里云AccessKey。
前往AccessKey管理。
在不建议使用云账号AccessKey对话框,阅读创建主账号AccessKey的风险,如果必须要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。

在AccessKey页面,找到目标AccessKey,单击右侧操作列下的禁用。

在禁用对话框中,单击禁用。
在AccessKey页面,找到目标AccessKey,单击右侧操作列下的删除。

在删除对话框中,输入当前AccessKey的ID,单击删除。
删除阿里云AccessKey后,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定。

在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。

后续
如果您想了解更多有关云消息队列 RabbitMQ 版的产品功能和操作,请参见操作指南。
如果您希望从开源 RabbitMQ 迁移到云消息队列RabbitMQ 版,请参见开源RabbitMQ迁移上云。















































