RabbitMQ 入门详解(含安装 + 配置 + 管理后台)

一、RabbitMQ 介绍

1️⃣ 什么是 MQ?

MQ(Message Queue,消息队列) ​ 是一种 消息中间件 ,主要用于 微服务之间的异步通信

复制代码
Sender → MQ → Consumer

2️⃣ 什么是 AMQP 协议?

**AMQP(Advanced Message Queuing Protocol,高级消息队列协议)**​

是一个应用层标准协议,用于统一消息中间件的通信方式。

👉 RabbitMQ 就是 AMQP 的一个实现

3️⃣ 什么是 RabbitMQ?

  • 使用 Erlang 语言开发

  • 实现了 AMQP 协议

  • 高性能、稳定、支持多种消息模型

4️⃣ 为什么要用 RabbitMQ?

优势 说明
✅ 解耦 服务之间不直接依赖,新增消费者无需改代码
✅ 异步 消息发送后立即返回,消费者异步处理
✅ 削峰 控制消费速率,防止系统被瞬时流量打垮

5️⃣ Spring Boot 整合 RabbitMQ

复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

二、RabbitMQ 安装(CentOS 6)

1️⃣ 安装 Erlang 环境

RabbitMQ 依赖 Erlang,需提前安装:

复制代码
cd /usr/upload

rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps
rpm -ivh esl-erlang_17.3-1~centos~6_amd64.rpm --force --nodeps
rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm --force --nodeps

2️⃣ 安装 RabbitMQ

复制代码
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm

三、RabbitMQ 服务管理

1️⃣ 启停命令

复制代码
service rabbitmq-server start
service rabbitmq-server status
service rabbitmq-server stop
service rabbitmq-server restart

2️⃣ 设置开机自启

复制代码
chkconfig rabbitmq-server on

四、安装 Web 管理插件

1️⃣ 启用管理插件

复制代码
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart

2️⃣ 访问地址

复制代码
http://192.168.61.137:15672

⚠️ 默认端口:15672


五、RabbitMQ 用户管理

1️⃣ 创建管理员用户

复制代码
rabbitmqctl add_user admin 1111
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

2️⃣ 查看用户列表

复制代码
rabbitmqctl list_users

六、常见问题

❌ 资源解析服务请求失败

复制代码
资源解析服务请求失败,请稍后重试

✅ 解决建议:

  • 检查 IP 是否可达

  • 确认防火墙是否放行 15672 端口

  • 确认 RabbitMQ 是否正常启动


✅ 总结

  • RabbitMQ 是基于 AMQP 协议​ 的消息中间件

  • 常用于 解耦、异步、削峰

  • Spring Boot 可通过 spring-boot-starter-amqp快速集成

  • Web 管理控制台极大降低运维成本


如果你需要,我还可以帮你:

  • ✅ 优化 CSDN 标题 & 标签

  • ✅ 补充 RabbitMQ 五种消息模型

  • ✅ 改成 实战版(Spring Boot Demo)

  • ✅ 配 架构图 / 时序图

你可以直接说:**"帮我再补一个 Spring Boot 示例"**​ 😄

相关推荐
2301_789015621 小时前
Linux:基础指令(二)
linux·运维·服务器·c语言·开发语言·c++·算法
星晨羽1 小时前
Java通过FTP协议实现文件上传下载
java·开发语言
阿拉金alakin1 小时前
Java IO 核心类 File、InputStream/OutputStream 实战总结
java·开发语言
之歆1 小时前
DAY_25 JavaScript 原型、原型链与值类型/引用类型 ── 深度全解(上)
开发语言·javascript·原型模式
csbysj20201 小时前
C 标准库 - `<time.h>`
开发语言
小陈的进阶之路1 小时前
Python系列课(10)——SQL
开发语言·python·sql
测试员周周1 小时前
【Appium 系列】第03节-驱动初始化 — BaseDriver 的设计与实现
开发语言·人工智能·python·功能测试·appium·测试用例·web app
坚果派·白晓明9 小时前
【鸿蒙PC三方库移植适配框架解读系列】第八篇:扩展lycium框架使其满足rust三方库适配
c语言·开发语言·华为·rust·harmonyos·鸿蒙
花间相见9 小时前
【PaddleOCR教程01】PP-OCRv5 全面指南:从模型架构到实战部署
开发语言·r语言