什么是RabbitMQ?
从技术上讲,RabbitMQ是一个实现了 AMQP(高级消息队列协议) 的开源消息代理软件(也叫消息中间件)。
它采用 Erlang语言 编写,天生具备高并发、高性能 和高可靠性的特点。并且,主流的编程语言(如Java、Python、Go等)都有对应的客户端库,可以方便地接入。
它能解决什么问题?
在分布式系统中,服务间的直接调用(同步通信)会带来很多麻烦。RabbitMQ通过"异步"的方式,主要解决了以下核心痛点:
-
系统解耦:在秒杀场景中,如果订单系统直接调用库存系统,库存系统一旦故障,就会导致下单失败。引入RabbitMQ后,订单系统只需把"下单"消息放入队列,库存系统自己去拿即可。就算库存系统出问题,也不影响用户下单,实现了服务间的解耦。
-
异步通信:比如用户注册时,发送邮件和短信并非核心流程。如果用RabbitMQ,系统在注册成功后,直接发送两条消息到队列就立刻返回"注册成功",让邮件和短信服务在后台异步处理,极大提升了用户体验。
-
流量削峰:面对双11、抢票这类突发流量,RabbitMQ就像一个"缓冲大坝"。它将海量请求先暂存在队列中,后端业务系统再根据自己的处理速度,慢慢从队列里取任务处理,从而保护后端服务不被冲垮。
总结来说 ,RabbitMQ就是这样一个通过 "队列" 和 "交换机" 模型,为分布式系统提供解耦、异步、削峰能力的消息中间件。它解决了系统间同步调用的种种问题,是现代微服务和分布式架构中非常基础且重要的组件。
mac如何安装?
在 macOS 上,通过包管理器 Homebrew 来安装 RabbitMQ 是最简单、最推荐的方式。它会自动帮你处理 Erlang 这个关键依赖
使用 Homebrew 安装(推荐)
安装 Homebrew:如果你还没安装,在终端中运行以下命令
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
如果不能正常下载或者下载缓慢,使用国内清华源安装脚本:
bash
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
参考:
【2026 最新】Mac 终端神器 Homebrew 完全指南:从安装、换源加速到核心命令速查(Mac 版)-CSDN博客
更新并安装:在终端中依次执行以下命令来更新 Homebrew 并安装 RabbitMQ
bash
brew update
brew install rabbitmq
配置环境变量 (PATH) :为了方便在任何目录下使用 RabbitMQ 的命令,需要将它的可执行文件目录添加到系统路径中。根据你的 Mac 芯片类型(可能不一样),选择对应的命令添加到 ~/.zshrc 文件里
我的是m1芯片
bash
echo 'export PATH=$PATH:/opt/homebrew/opt/rabbitmq/sbin' >> ~/.zshrc
然后执行 source ~/.zshrc 让配置立即生效
启动与管理
启动服务:推荐使用后台启动方式,这样 RabbitMQ 会开机自启
bash
brew services start rabbitmq
如果只想在前台运行用于测试,可以执行 rabbitmq-server
停止服务:
bash
brew services stop rabbitmq
查看状态:确认服务是否正常运行
bash
brew services list | grep rabbitmq
或者执行 rabbitmqctl status 查看更详细的节点信息
开启管理界面 (Web UI)
启用 RabbitMQ 的 Web 管理插件,可以通过浏览器来管理队列、交换器等
bash
rabbitmq-plugins enable rabbitmq_management
完成后,浏览器访问 http://localhost:15672,使用默认账号 guest / guest 登录即可管理。
⚠️ 生产环境请务必创建新管理员账号并禁用或修改默认
guest用户。

使用 Docker 安装(容器化)
如果你已安装Docker,这是最快的方式,完全隔离环境。
一键启动命令
直接在终端运行以下命令(注意设置了自定义账号密码):
bash
docker run -d \
--name rabbitmq-dev \
--hostname my-rabbit-node \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=123456 \
rabbitmq:4.1.5-management-alpine
参数详解:
-
-p 5672:5672:映射程序连接端口。 -
-p 15672:15672:映射Web管理界面端口。 -
-e RABBITMQ_DEFAULT_USER/PASS:设置自定义管理员账号密码(强烈建议修改)。 -
rabbitmq:4.1.5-management-alpine:带管理界面的轻量级镜像。
验证
浏览器访问 http://localhost:15672,输入 admin / 123456 即可看到管理后台。
3. 数据持久化(重要)
上述命令若删除容器数据会丢失。如需持久化,请挂载本地目录:
bash
# 添加 -v 参数,将数据挂载到当前目录的 rabbitmq_data 下
-v $(pwd)/rabbitmq_data:/var/lib/rabbitmq
希望这篇笔记能对你有所帮助,如果在安装中遇到问题,欢迎在评论区留言交流。