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 示例"**​ 😄

相关推荐
caimouse7 分钟前
ReactOS 硬件资源仲裁器 (Arbiter) 完整实现计划
开发语言
新手村领路人41 分钟前
在macos python中安装dlib
开发语言·python·macos
郝学胜-神的一滴43 分钟前
Qt 高级开发 024:QSplitter分裂器布局精讲
开发语言·c++·qt·程序人生·用户界面
晚风吹红霞1 小时前
深入浅出C++ STL:从入门到精通的核心指南
开发语言·c++
宇宙之一粟1 小时前
如何判断是时候离开了
后端·程序员
JAVA社区1 小时前
Java高级全套教程(十四)—— SpringData超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
182******20831 小时前
2026年学C语言还有出路吗?学习需要报班吗?
c语言·开发语言·学习
武子康1 小时前
Java-16 深入浅出MyBatis 架构设计与源码剖析:从初始化到 SQL 执行全流程
java·后端
逍遥运德2 小时前
Java编程高频的“技术点”-03:“下划线命名”参数,后端用"驼峰命名"接收
java·后端·架构