RocketMQ 的最低服务器配置取决于你的使用场景(如开发、测试或生产环境)。以下是不同场景下的建议最低服务器配置:
一、开发/测试环境(单机模式,轻量使用)
适用于学习、本地调试、小规模测试。
- CPU:1 核
- 内存:2 GB
- 硬盘:20 GB(SSD 更佳)
- 操作系统:Linux / Windows / macOS(推荐 Linux)
- JDK:Java 8 或以上(RocketMQ 使用 Java 开发)
- 网络:普通局域网即可
⚠️ 注意:在 2GB 内存下,需要调整 JVM 堆内存参数(如
-Xms512m -Xmx1g),避免 OOM。
二、生产环境(基本可用)
用于中小规模业务,保证稳定运行。
- CPU:2 核以上
- 内存:4 GB 以上(推荐 8 GB)
- 硬盘:至少 50 GB,建议使用 SSD(消息持久化依赖磁盘 IO)
- 操作系统:Linux(CentOS / Ubuntu 等主流发行版)
- JDK:Java 8 或 Java 11(长期支持版本)
- 网络:千兆网络,低延迟
📌 推荐部署方式:
- NameServer:可部署在较小机器上(资源消耗低)
- Broker:需要更高内存和磁盘性能(尤其是 CommitLog 写入)
三、高并发/大规模生产环境
适用于高吞吐、低延迟、多副本、主从架构等。
- CPU:4 核以上
- 内存:16 GB 或更高
- 硬盘:100 GB 以上 SSD,RAID 配置更佳
- 部署架构:多节点集群(主从 + 多副本 + Dledger 高可用)
- 网络:内网千兆以上,跨机房需考虑延迟与同步机制
四、其他注意事项
- NameServer 资源消耗较低,可以和其他服务共用机器(但不推荐生产环境混部)。
- Broker 是资源大户,尤其是磁盘写入和页缓存(Page Cache)依赖大内存。
- 不要在内存不足的机器上运行,否则容易出现
OutOfMemoryError或刷盘慢导致消息堆积。 - 开启持久化时,磁盘性能至关重要,避免使用机械硬盘(HDD)在高吞吐场景。
示例:最小可行部署(开发)
# 启动 NameServer(512MB 堆)
nohup sh bin/mqnamesrv -Xms256m -Xmx256m &
# 启动 Broker(1GB 堆)
nohup sh bin/mqbroker -n localhost:9876 -Xms512m -Xmx1g &
总结
| 场景 | CPU | 内存 | 硬盘 | 推荐度 |
|---|---|---|---|---|
| 开发/测试 | 1核 | 2GB | 20GB HDD | ⭐⭐⭐⭐ |
| 生产(基础) | 2核 | 4~8GB | 50GB SSD | ⭐⭐⭐⭐⭐ |
| 生产(高负载) | 4核+ | 16GB+ | 100GB+ SSD | ⭐⭐⭐⭐⭐ |
✅ 建议:即使测试也尽量使用 4GB 内存以上的机器,避免频繁因内存不足导致崩溃。
如果你有具体的业务场景(如每日消息量、TPS 要求),可以提供更多信息,我可以帮你更精确地估算资源配置。
秒懂云