RabbitMQ消息队列搭建
RabbitMQ 在我们的平台中并非强制依赖,可以根据实际情况使用。如果遇到以下场景,可以考虑引入:
生产工单下发 :计划系统下发工单后,通过消息队列通知各工序车间异步拉取任务,避免同步推送阻塞。
物料消耗扣减 :生产投料完成后发送消息,库存服务异步更新原料消耗记录,不影响主生产流程的响应速度。
设备数据采集 :PLC 或 SCADA 系统采集到的实时数据先写入队列,后端处理服务按能力消费,避免高频数据直接冲击数据库。
质量异常告警 :质检系统发现不合格品后发送消息,通知相关车间、设备维护及管理人员,实现多系统解耦通知。
工序间流转驱动 :上道工序完工后发送流转消息,触发下道工序的待办任务生成,替代直接数据库轮询。
跨系统数据同步 :ERP 中的订单信息变更后通过队列同步至 MES,下游系统各自订阅,无需点对点接口开发。
分布式数据一致性: 解决比如多个库存处理的数据一致性问题,跨系统,跨服务之类的。
我们假设操作系统均为Windows Server 2025 ,部署3个节点的rabbitmq。

修改主机名
在每台服务器上以管理员身份运行 PowerShell,修改主机名(根据需要修改),比如:
Rename-Computer -NewName "rabbitmq-node1" -Force配置 hosts 文件
每台节点都需要添加。
在 C:\Windows\System32\drivers\etc\hosts 文件中添加:
192.168.1.10 rabbitmq-node1
192.168.1.11 rabbitmq-node2
192.168.1.12 rabbitmq-node3开放防火墙端口
记得在每台节点的 Windows 防火墙中开放以下 TCP 端口:
| 端口 | 服务 | 说明 |
|---|---|---|
| 4369 | EPMD | Erlang 端口映射守护进程 |
| 5672 | AMQP | 消息通信端口 |
| 15672 | Management UI | RabbitMQ 管理插件界面 |
| 25672 | Inter-node | 集群内部节点间通信 |
安装 Erlang
访问 Erlang Solutions 官网下载对应 Windows 版本的 Erlang OTP 安装包。

安装 RabbitMQ
- 访问 RabbitMQ 官网下载 Windows 安装包:https://github.com/rabbitmq/rabbitmq-server/releases
- 以管理员身份运行安装程序
安装过程中确保勾选 "Start RabbitMQ service" 选项。
同步 Erlang Cookie
步骤 1:获取主节点的 Cookie
在主节点上,Cookie 文件位于以下两个位置:
C:\Windows\System32\config\systemprofile\.erlang.cookie(服务账户使用)C:\Users\<当前用户名>\.erlang.cookie(命令行工具使用)
步骤 2:将主节点的 Cookie 复制到所有子节点
将主节点的 .erlang.cookie 文件内容复制到子节点的对应位置:
C:\Windows\System32\config\systemprofile\.erlang.cookieC:\Users\<administrator>\.erlang.cookie
步骤 3:重启所有 RabbitMQ 服务
在每台节点上执行:
Restart-Service RabbitMQ组建集群
在子节点上执行以下命令(假设主节点主机名为 rabbitmq-node1):
# 进入 RabbitMQ 的 sbin 目录
cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin"
# 停止 RabbitMQ 应用
.\rabbitmqctl.bat stop_app
# 重置节点(清除原有集群信息)
.\rabbitmqctl.bat reset
# 加入集群(将当前节点加入主节点)
.\rabbitmqctl.bat join_cluster rabbit@rabbitmq-node1
# 启动 RabbitMQ 应用
.\rabbitmqctl.bat start_app验证集群状态
在任意节点上执行以下命令验证集群是否组建成功:
.\rabbitmqctl.bat cluster_status预期输出:
Cluster status of node rabbit@rabbitmq-node1 ...
Basics
Cluster name: rabbit@rabbitmq-node1
Disk Nodes
rabbit@rabbitmq-node1
rabbit@rabbitmq-node2
rabbit@rabbitmq-node3
Running Nodes
rabbit@rabbitmq-node1
rabbit@rabbitmq-node2
rabbit@rabbitmq-node3启用管理插件
在 每个节点 上启用 RabbitMQ Management 管理界面:
cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.3\sbin"
.\rabbitmq-plugins.bat enable rabbitmq_management完成!