mac安装RabbitMQ

什么是RabbitMQ?

从技术上讲,RabbitMQ是一个实现了 AMQP(高级消息队列协议) 的开源消息代理软件(也叫消息中间件)。

它采用 Erlang语言 编写,天生具备高并发、高性能 和高可靠性的特点。并且,主流的编程语言(如Java、Python、Go等)都有对应的客户端库,可以方便地接入。

它能解决什么问题?

在分布式系统中,服务间的直接调用(同步通信)会带来很多麻烦。RabbitMQ通过"异步"的方式,主要解决了以下核心痛点:

  1. 系统解耦:在秒杀场景中,如果订单系统直接调用库存系统,库存系统一旦故障,就会导致下单失败。引入RabbitMQ后,订单系统只需把"下单"消息放入队列,库存系统自己去拿即可。就算库存系统出问题,也不影响用户下单,实现了服务间的解耦。

  2. 异步通信:比如用户注册时,发送邮件和短信并非核心流程。如果用RabbitMQ,系统在注册成功后,直接发送两条消息到队列就立刻返回"注册成功",让邮件和短信服务在后台异步处理,极大提升了用户体验。

  3. 流量削峰:面对双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

希望这篇笔记能对你有所帮助,如果在安装中遇到问题,欢迎在评论区留言交流。

相关推荐
此时不提桶,更待何时9 小时前
06-23-A-RabbitMQ生态集成详解
分布式·rabbitmq
m0_6464299714 小时前
RabbitMQ 核心知识总结(生产实战版)
分布式·rabbitmq
DBA_G16 小时前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
chunyublog16 小时前
Spark 词频统计练习
大数据·分布式·spark
acrel718 小时前
高速公路分布式光伏并网电能质量与安全保护方案应用
分布式·安全
IT小小猪20 小时前
# Hadoop 3.3.6 完全分布式集群部署知识库
hadoop·分布式·eclipse
此时不提桶,更待何时20 小时前
06-24-B-RabbitMQ面试与生产事故实战
分布式·面试·rabbitmq
来福猿20 小时前
分布式锁 Redis 实现源码分析:SETNX、过期时间与可重入设计
数据库·redis·分布式
此时不提桶,更待何时1 天前
06-17-A-RabbitMQ架构与存储原理详解
rabbitmq
Pniubi1 天前
分布式锁分类讲解
分布式