RuoYi-Cloud 是一个基于 Spring Cloud Alibaba 的微服务架构后端框架。由于其组件众多(Nacos, Sentinel, Gateway, Auth, System, Job, Monitor 等),单机部署非常吃资源。
以下是根据不同场景推荐的服务器配置方案:
🚀 核心结论速览
| 场景 | 推荐配置 (每台节点) | 说明 |
|---|---|---|
| 开发/测试环境 | 4核 8GB / 16GB | 可单节点部署所有服务,或简单集群 |
| 生产环境 – 小型集群 | 4核 16GB / 32GB | 建议至少 3 台服务器组成高可用集群 |
| 生产环境 – 中型集群 | 8核 32GB | 支持更多并发,服务拆分更细 |
| 生产环境 – 大型集群 | 16核 64GB+ | 高并发、大数据量场景 |
⚠️ 注意:以上为应用服务器配置。若将数据库、Redis、MQ 等中间件也部署在同一台机器上,需额外增加内存和磁盘 I/O 性能。
📦 RuoYi-Cloud 主要组件资源消耗分析
1. Nacos (注册中心 & 配置中心)
- 最低要求:2核 2GB(仅用于测试)
- 推荐配置:4核 8GB~16GB
- 说明:Nacos 在启动时会占用较多内存,且由于服务实例增多,内存使用会上升。生产环境建议独立部署,并使用集群模式(至少 3 个节点)。
2. MySQL (数据库)
- 最低要求:2核 4GB
- 推荐配置:4核 8GB~16GB
- 说明:如果数据量大或并发高,建议单独部署或使用云数据库 RDS。RuoYi 默认使用 InnoDB 引擎,对内存和 IO 有一定要求。
3. Redis (缓存)
- 最低要求:1核 1GB
- 推荐配置:2核 4GB~8GB
- 说明:Redis 是内存型数据库,内存越大越好。建议启用 AOF/RDB 持久化,并设置合理的最大内存限制。
4. RabbitMQ / RocketMQ (消息队列)
- RabbitMQ:推荐 2核 4GB
- RocketMQ:NameServer + Broker,推荐 4核 8GB(每个节点)
- 说明:RuoYi-Cloud 默认集成的是 RabbitMQ,轻量级;若改用 RocketMQ,资源需求更高。
5. 微服务应用模块 (Auth, System, Gen, Codegen, etc.)
- 单个服务最低:1核 1GB
- 推荐配置:2核 4GB~8GB
- 说明:
ruoyi-auth:认证服务,资源占用中等。ruoyi-gateway:网关,所有请求必经之路,建议多实例部署。ruoyi-system:系统核心服务,通常较耗 CPU 和内存。ruoyi-job:定时任务,资源占用较低。ruoyi-monitor:监控中心,资源占用低。
🏗️ 典型生产环境部署架构建议(3 节点集群)
假设你拥有 3 台高性能服务器,可以构建一个高可用的最小生产集群:
| 服务器角色 | 配置建议 | 部署内容 |
|---|---|---|
| Node 1 (Master) | 4核 16GB | Nacos 1, MySQL 主, Redis 主, RabbitMQ 1, Gateway 1, Auth, System |
| Node 2 (Slave) | 4核 16GB | Nacos 2, MySQL 从, Redis 从, RabbitMQ 2, Gateway 2, Gen, Codegen |
| Node 3 (Backup) | 4核 16GB | Nacos 3, MySQL 从, Redis 从, RabbitMQ 3, Gateway 3, Job, Monitor |
✅ 优势:
- Nacos 3 节点集群保证注册中心高可用。
- MySQL 主从复制保证数据可靠性。
- Redis 哨兵或集群模式保证缓存高可用。
- Gateway 多实例负载均衡。
- 任意一台宕机,其他服务仍可运行。
💡 优化与注意事项
-
JVM 调优至关重要
- 不要使用默认 JVM 参数。根据服务器内存调整
-Xms和-Xmx。 - 例如:对于 8GB 内存的服务器,可设置
-Xms4g -Xmx4g。 - 启用 G1 GC 或 ZGC 提升吞吐量。
- 不要使用默认 JVM 参数。根据服务器内存调整
-
使用 Docker/Kubernetes 部署
- 手动部署容易出错,推荐使用 Docker Compose(小规模)或 Kubernetes(大规模)。
- K8s 可以实现自动扩缩容和资源隔离。
-
磁盘空间预留
- 日志文件(特别是
ruoyi-gateway和ruoyi-system)增长较快,建议挂载大容量磁盘或配置日志轮转策略。 - 建议至少预留 50GB~100GB 可用空间。
- 日志文件(特别是
-
网络带宽
- 微服务之间通信频繁,内网带宽建议 千兆及以上。
- 公网出口带宽根据业务流量决定,一般 5Mbps~50Mbps 起步。
-
考虑使用云服务
- 如果使用阿里云、腾讯云等,可直接使用其提供的 NAS、RDS、Redis、RocketMQ 等服务,避免自建中间件带来的运维负担和资源浪费。
✅ 总结建议
- 个人学习/小项目:1 台 4核 8GB 服务器即可满足全部服务部署。
- 企业生产环境:建议 3 台 4核 16GB 服务器组成集群,并将数据库、Redis、MQ 等中间件独立部署或使用云服务。
- 高并发场景:逐步增加应用节点数量,通过负载均衡器(如 Nginx、SLB)分发流量。
如需更精确的配置建议,请提供你的预期用户量、QPS 峰值和数据规模。
轻量云Cloud