RabbitMQ 安装测试|学习笔记

简介: 快速学习 RabbitMQ 安装测试

开发者学堂课程【SpringBoot 快速掌握 - 高级应用:RabbitMQ 安装测试】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/613/detail/9301


RabbitMQ 安装测试

内容介绍:

一、安装 RabbitMQ

二、RabbitMQ 整合

三、RabbitMQ 测试


一、安装 RabbitMQ

连接上 Linux 服务器,检查有没有相关的镜像,在 Docker Hub 中搜索 RabbitMQ 安装带 management 标志的官方版本,这种带有 web 的管理界面。

由于下载较慢,我们依旧使用前面涨价所讲概述的加速方法进行安装下载,通过输入:

docker pull registr:docker-cn.com/library/rabbitmq: 3-management 进行加速下载。

下载完成后进行检查,输入docker management,发现有了 RabbitMQ 镜像。

输入:

docker run -d -p 5672:5672--name myrabbitmq 完成启动运行,其中 -d 表示后台运行,-p 表示暴露端口。

5672表示进行通讯的端口,还有一种用15672表示,时管理界面访问 web 界面的端口。

然后为其起名,例如 myRabbitmq。启动哪一个镜像就将哪一个镜像的 id 复制,此时我们就可以通过客户端进行访问了。

使用默认的账号进行登录,进入后发现管理界面有6个操作菜单,分布是 overview (橄榄信息)、Connections (连接)、Channels (信道)、Exchanges (交换器)、Queues (消息队列)、Admin (管理控制台:用来添加账号密码、虚拟机等信息)。

结合上一节所学内容,进行测试 Rabbit 的路由机制。


二、RabbitMQ 整合

1.引入 spring-boot-starter-amqp

2.application.yml配 置

3.测试 RabbitMQ

1)AmqpAdmin: 管理组件

2)RabbitTemplate: 消息发送处理组件


三、RabbitMQ 测试

image.png

1、创建交换器

在 web 界面创建一个交换器,命名为 exchange.direct,类型为 direct ,设定为durable持久化交换器。交换器绑定图示四个队列:atguigu 、atguigu.news、atguigu.emps 、gulixueyuan.news。

持久化是重启后这个交换器还在,另一种重启后交换器就不在了,默认的交换器是持久化的。将其他交换器全部创建出来,分别是 exchange.fanout (类型为 fanout)、exchange topic(类型为 topic ),均为持久化的交换器。

2、创建消息队列

在 queues 中添加四个队列,atguigu 、atguigu.news、atguigu.emps 、gulixueyuan.news,队列名均是所达到路由键的名称,均为持久化。

队列若能工作,就需要和交换器进行关联绑定。

3、与交换器进行关联绑定

为每一个交换器绑定四个队列,即 atguigu 、atguigu.news、atguigu.emps 、gulixueyuan.news,路由键分别为

atguigu 、atguigu.news、atguigu.emps 、gulixueyuan.news。

4、向交换器发送消息进行测试

exchange.direct

发送 direct.exchage.nsg.hellworld 的 message,由于现在路由键是 atguigu 且direct 交换器是完全匹配路由键的,所以只有atguigu这个队列能收到消息,即点对点方式。

exchange.fanout

fanout 交换器里发送消息,无论路由键是什么,会将消息发至所有队列,比如随便使用一个路由键,写一个消息给 fanout并 进行发布,发现每一个队列都能收到内容。

exchange topic

exchange topic 是根据路由键的匹配规则来发送消息的。比如发送一个 message,使用 atguigu.news 路由键发送消息,该路由键符合 atguigu 、atguigu.news

、atguigu.emps 、gulixueyuan.news 规则,即 atguigu 、atguigu.news

、atguigu.emps 、gulixueyuan.news 中可以收到消息;

若选用 hello.news 路由键,只符合 atguigu.news、gulixueyuan.news 规则,即只能将消息发送至 atguigu.news、gulixueyuan.news 队列

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
5月前
|
物联网 Linux 开发者
快速部署自己私有MQTT-Broker-下载安装到运行不到一分钟,快速简单且易于集成到自己项目中
本文给物联网开发的朋友推荐的是GMQT,让物联网开发者快速拥有合适自己的MQTT-Broker,本文从下载程序到安装部署手把手教大家安装用上私有化MQTT服务器。
1517 5
|
11月前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
349 86
|
10月前
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
664 10
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
8月前
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
277 0
|
9月前
|
人工智能 测试技术 API
Windows用户必备:Postman v11详细安装指南与API测试入门教程(附官网下载
Postman是全球领先的API开发与测试工具,支持REST、SOAP、GraphQL等协议调试。2025年最新版v11新增AI智能生成测试用例、多环境变量同步等功能,适用于前后端分离开发、自动化测试、接口文档自动生成及团队协作共享API资源。本文详细介绍Postman的软件定位、核心功能、安装步骤、首次配置、基础使用及常见问题解答,帮助用户快速上手并高效利用该工具进行API开发与测试。
|
11月前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
273 6
|
11月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
251 7
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
349 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
1224 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo