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

相关推荐
万少1 小时前
用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
前端·javascript·后端
皮皮林5513 小时前
代码越“整洁”,性能越“拉胯”?
后端
benchmark_cc4 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
金金金__4 小时前
一篇文章带你入门OpenSpec
后端
阿维的博客日记5 小时前
MultipartFile 是不是表示仅仅是一个分片?
java·后端·spring·multipartfile
海上彼尚5 小时前
Nodejs也能写Agent - 16.LangGraph篇 - 条件分支与循环
前端·后端·langchain·node.js
程序员无隅5 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
Python+995 小时前
Java 枚举类(Enum)详解:从基础到高级应用
java·开发语言·python
二炮手亮子6 小时前
浅记java线程池
java·开发语言
zmzb01036 小时前
C++课后习题训练记录Day157
开发语言·c++