【实践】快速学会使用云消息队列RabbitMQ版

简介: 本次分享的主题是快速学会使用云消息队列RabbitMQ版的实践。内容包括:如何创建和配置RabbitMQ实例,如Vhost、Exchange、Queue等;如何通过阿里云控制台管理静态用户名密码和AccessKey;以及如何使用RabbitMQ开源客户端进行消息生产和消费测试。最后介绍了实验资源的回收步骤,确保资源合理利用。通过详细的操作指南,帮助用户快速上手并掌握RabbitMQ的使用方法。

内容介绍:

一、如何使用云消息队列RabbitMQ版

二、RabbitMQ开源客户端生产和消费消息测试

 

本次分享的主题是快速学会使用云消息队列RabbitMQ版的实践。

 

一、如何使用云消息队列RabbitMQ版

1. 进入

image.png

(1)点击链接,勾选同意。

(2)开始实操,系统会自动创建实验所需要的云产品资源。

(3)资源创建完成后,通过菜单栏左侧的云产品资源,可以看到系统创建的消息队列-rabbitmq的资源。


2.创建阿里云AccessKey,AccessKey Secret

(1)回到操作手册,点击下一页。

(2)前往AK管理界面,点击继续使用AK,点击创建AK。

(3)可以看到新创建的AK和SK,选择下载CSX文件,或复制AK,SK的方式并行操作。


3.静态用户名和密码的创建

image.png

(1)点击下一页,通过云产品资源列表的消息队列区域,点击管理,进入rabbitmq的云产品控制台台,点击静态用户名密码,点击创建用户名密码。

(2)将新创建的AS,SK复制到云产品控制台。注意删除多余的空格,点击确定。

(3)看到创建成功,查看新创建的静态用户名和密码。


4.Vhost创建

image.png


(1)回到操作手册,进入Vhost列表。

(2)点击创建Vhost,设置新创建的Vhost的名字为yunQi-Vhost。(3)点击确定,Vhost创建成功。


5.EXchange的创建

image.png


(1)进入EXchange列表,看到已经有默认的EXchange。

(2)将新建EXchange的名字设为yunQi-EXchange。类型为direct。

(3)点击确定,EXchange创建成功。


6.队列的创建

image.png


(1)进入Queue列表,点击创建。新创建的队列名设为yunQi-Queue,其他选项保持默认。

(1)点击确定,新创建yunQi-Queue成功。


7.添加绑定关系

 

image.png

(1)回到EXchange列表,选择刚创建的yunQi-EXchange。

(2)单击添加绑定,绑定目标选择新添加的yunQi-Queue的路由。Routing Key设置为yunQi-routing-key。

(3)点击确定,绑定成功。

 

二、RabbitMQ开源客户端生产和消费消息测试

 

image.png

打开IntelliJ IDEA,需要通过Git从远程拉仓库拿取RabbitMQ开源客户端demo。首先需要安装Git,安装Git的操作在操作手册中有,安装完成之后,点击IntelliJ IDEA的Get flow VCS,从远程仓库拉取对应的demo代码,URL从操作手册上可以复制。然后点击Clone。


image.png


成功从远程仓库拉取到对应的RabbitMQ开源客户端的demo代码,选择amqp-java-demo。打开demo。这是pom工程,如果文件是红色标记,需要先右键点击Add as Maven Project,把工程标记为Maven工程。

image.png

然后重新打开工程,进入Config类,进行RabbitMQ开源客户端的参数配置的替换,有三个配置参数需要进行相应的替换,首先是阿里云RabbitMQ实例的公网接入点,需要找到云产品控制台的实例详情,看到对应实例的公网接入点。复制地址,然后在代码中进行替换,还需要进行静态用户名和密码的替换,使用前面操作得到的静态用户名和密码,在云产品控制台进行复制粘贴,然后在代码中替换。


image.png

Config类对应的参数替换完成之后,可以进行RabbitMQ客户端的消息发送和消息消费的测试,首先进行RabbitMQ消息发送的测试,进入ProducerTest这个类,看到消息发送测试使用的Vhost、 EXchange、Queue、Routing Key都与之前的操作一一对应。

image.png


可以直接启动ProducerTest的main方法运行。在控制台看到消息发送成功,使用RabbitMQ的channel.basic Publish方法进行消息发送测试,demo中会持续一个小时发送3600条消息。每发送一条,间隔一秒。完成消息发送测试之后进行消息消费测试。进入Consume Test类,运行类中的main方法。在控制台看到前面发送的消息已经消费成功。代码主要是使用RabbitMQ的channel.basic Consume 方法,创建消费者对指定的队列进行监听消费。

image.png


回到云产品控制台操作手册,使用控制台的Dashboard面板对RabbitMQ实例指标进行查看。首次进入Dashboard面板需要对服务关联角色进行授权,并且开通ARMS服务。进入Dashboard面板。RabbitMQ实例每一个Queue的指标,例如新建的yunQi-Queue队列对应的消息堆积数以及消息发送和消息消费的指标情况。

image.png


还可以直接点击队列,或者通过Queue列表进入指定队列,查看指定队列下Dashboard监控的消息收发的变化趋势,将时间选择最近五分钟,就可以看到最近五分钟指定的yunQi-Queue队列下消息收发的变化趋势。

image.png


回到操作手册进行消息轨迹查看。在左侧菜单栏点击消息轨迹,在消息轨迹界面可以通过Message ID或者是按Queue查询指定消息的消息轨迹。如果通过Message ID进行查询,进行消息收发测试时,在控制台打印指定消息的Message ID,复制其中一个Message ID,然后在消息轨迹界面中输入Message ID,点击查询,可以查到特定的Message ID对应的消息。

image.png


然后点击轨迹详情,可以查看消息的生产和投递轨迹。

image.png


同样可以根据Queue查询指定Queue下的所有消息的消息轨迹,例如使用yunQi-Queue查询最近一个小时的消息,查到yunQi-Queue队列下最近一个小时的所有消息。同样也可以通过轨迹详情查看指定消息的情况。

image.png

最后进行实验资源的回收。进入AK管理界面进行AKSK的回收,将先前创建的AKSK禁用,保险起见可以选择直接删除实验中所使用的AKSK。

image.png

回收AKSK之后进行实例的回收,可以选择付费保留实例,或者不保留实例资源直接结束实验。如果不选择付费保留资源,实验结束之后默认不保留资源,直接结束实验。

image.png

相关实践学习
消息队列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
相关文章
|
3月前
|
消息中间件 存储 Serverless
【实践】快速学会使用阿里云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
126 2
|
3月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
108 11
|
3月前
|
消息中间件
解决方案 | 云消息队列RabbitMQ实践获奖名单公布!
云消息队列RabbitMQ实践获奖名单公布!
|
3月前
|
消息中间件 存储 弹性计算
云消息队列RabbitMQ实践
云消息队列RabbitMQ实践
|
3月前
|
消息中间件 存储 弹性计算
云消息队列 RabbitMQ 版实践解决方案评测
随着企业业务的增长,对消息队列的需求日益提升。阿里云的云消息队列 RabbitMQ 版通过架构优化,解决了消息积压、内存泄漏等问题,并支持弹性伸缩和按量计费,大幅降低资源和运维成本。本文从使用者角度详细评测这一解决方案,涵盖实践原理、部署体验、实际优势及应用场景。
|
3月前
|
消息中间件 存储 监控
解决方案 | 云消息队列RabbitMQ实践
在实际业务中,网站因消息堆积和高流量脉冲导致系统故障。为解决这些问题,云消息队列 RabbitMQ 版提供高性能的消息处理和海量消息堆积能力,确保系统在流量高峰时仍能稳定运行。迁移前需进行技术能力和成本效益评估,包括功能、性能、限制值及费用等方面。迁移步骤包括元数据迁移、创建用户、网络打通和数据迁移。
79 4
|
3月前
|
消息中间件
实践部署《云消息队列RabbitMQ实践》测评
《云消息队列RabbitMQ实践》解决方案原理清晰,尤其在异步通信和解耦方面解释详尽。对初学者而言,部分术语如消息持久化、确认机制及集群性能优化可更细致。部署过程文档详实,涵盖主要环节,但插件配置等细节存在环境问题,需查阅社区资料解决。该方案展示了RabbitMQ的高吞吐量、灵活路由和可靠消息传递能力,但在高可用性和消息丢失处理上可提供更深入配置建议。适用于高并发和解耦场景,如订单处理、日志收集,有助于提升系统可扩展性。总体部署体验良好,实用性较强。
58 0
|
3月前
|
消息中间件 监控 测试技术
云消息队列RabbitMQ实践 - 评测
根据反馈,对本解决方案的实践原理已有一定理解,描述整体清晰但需在消息队列配置与使用上增加更多示例和说明以助理解。部署体验中获得了一定的引导和文档支持,尽管文档仍有待完善;期间出现的配置文件错误及依赖库缺失等问题已通过查阅资料解决。设计验证展示了云消息队列RabbitMQ的核心优势,包括高可用性和灵活性,未来可通过增加自动化测试来提高系统稳定性。实践后,用户对方案解决问题的能力及适用场景有了明确认识,认为其具有实际生产价值,不过仍需在性能优化、安全性增强及监控功能上进行改进以适应高并发和大数据量环境。
51 0
|
6月前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
3月前
|
消息中间件 JSON Java
开发者如何使用轻量消息队列MNS
【10月更文挑战第19天】开发者如何使用轻量消息队列MNS
149 6