Apache RocketMQ 是一个分布式消息中间件,对服务器配置有一定要求,具体最低配置取决于你的使用场景(如开发、测试、生产环境)和消息吞吐量需求。以下是不同场景下的建议最低服务器配置:
? 一、开发/测试环境(最小可用配置)
适用于本地开发、学习或小规模测试:
- CPU: 2 核
- 内存: 4 GB RAM
- 磁盘: 20 GB SSD(用于存储日志和消息)
- 操作系统: Linux(推荐 CentOS/Ubuntu),Windows 或 macOS 也可用于开发
- JDK: Java 8 或以上版本
✅ 说明:此配置可运行 NameServer 和 Broker,但仅适合轻量级测试,不适用于高并发或持久化大量消息。
? 二、生产环境(推荐最低配置)
为了保证稳定性和性能,生产环境应满足以下最低要求:
| 组件 | CPU | 内存 | 磁盘类型 | 磁盘空间 | 网络 |
|---|---|---|---|---|---|
| NameServer | 2 核 | 2 GB | 普通硬盘 | 10 GB | 百兆以上 |
| Broker | 4 核 | 8 GB | SSD(推荐) | ≥50 GB(视消息保留时间) | 千兆网卡 |
⚠️ 注意:
- Broker 是消息存储的核心,I/O 性能至关重要,强烈建议使用 SSD。
- 若开启消息持久化、高吞吐(万级TPS)、多 Topic/Queue,需更高配置(如 8C16G+,RAID SSD)。
- 建议部署多个节点(集群模式),实现高可用。
? 三、系统与依赖要求
- Java环境:OpenJDK 8 / Oracle JDK 8 及以上(RocketMQ 4.x/5.x 支持 Java 8+)
- 操作系统:Linux(主流生产环境),Windows/macOS 仅限开发
- 网络:各节点间低延迟、高带宽,防火墙开放对应端口(如 9876 NameServer, 10911 Broker 等)
? 四、部署建议
- NameServer:轻量级,可部署在较小配置机器上,通常 2~3 个节点构成集群。
- Broker:
- Master-Slave 架构建议部署在独立服务器。
- 单机支持一定负载,但生产环境建议至少 2 主 2 从。
- 磁盘规划:
- 消息默认保存 3 天,可根据业务调整
fileReservedTime。 - 高吞吐场景下,每天可能产生几十GB到上百GB数据,需预留足够空间。
- 消息默认保存 3 天,可根据业务调整
✅ 示例:最小生产部署(双节点)
| 节点 | 角色 | 配置 |
|---|---|---|
| Node1 | NameServer + Broker(Master) | 4核 / 8GB / 100GB SSD |
| Node2 | NameServer + Broker(Slave) | 4核 / 8GB / 100GB SSD |
可实现基本高可用和故障转移。
? 总结
| 场景 | 最低配置 | 备注 |
|---|---|---|
| 开发/学习 | 2核 / 4GB / 20GB HDD | 可单机运行 NameServer + Broker |
| 测试环境 | 4核 / 8GB / 50GB SSD | 支持中等压力测试 |
| 生产环境 | 4核 / 8GB / 100GB SSD 起 | 建议集群部署,SSD 必备 |
? 提示:RocketMQ 官方文档未明确“最低硬件要求”,以上为社区和实际生产经验总结。
如你有具体的业务场景(例如:每日消息量、TPS、是否需要事务消息等),我可以帮你进一步评估配置。
CDNK博客