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

相关推荐
hh9504 分钟前
Agent Plan x DeepSeek Harness:Agent 供应链安全与第三方插件审计
java·开发语言·安全·agent plan·adg成都社区·adg社区
「QT(C++)开发工程师」27 分钟前
C++ std::move 详解
开发语言·c++
matlab代码32 分钟前
基于matlab的玉米种子计数设计(GUI界面)【源码58期】
开发语言·matlab
c#上位机34 分钟前
C#上位机项目实战——C#的dll项目编译时拷贝到指定目录下
开发语言·c#
Littlehero_12139 分钟前
QT自定义控件之内嵌报表(4)(源码开源)
开发语言·qt
晓晓_za8986681 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
++==1 小时前
RESTful详解:核心思想、框架、与HTTP的区别,API的设计风格
后端·http·restful
曹牧1 小时前
C#:数组与列表的差异
开发语言·c#
LINgZone21 小时前
后端Java编码规范
java·开发语言
阿里嘎多学长2 小时前
2026-08-24 GitHub 热点项目精选
开发语言·程序员·github·代码托管