RuoYi-Cloud 是基于 Spring Cloud Alibaba(Nacos、Sentinel、Seata、Gateway 等)的微服务架构,包含多个独立部署的服务模块(如 ruoyi-auth、ruoyi-gateway、ruoyi-system、ruoyi-file、ruoyi-monitor 等),对资源要求显著高于单体 RuoYi-Vue。
✅ 生产环境推荐配置(中等规模业务,日活 1k–5k,QPS 50–200):
| 项目 | 推荐配置 | 说明 |
|---|---|---|
| CPU | 4 核(最低)→ 推荐 8 核 | 微服务多进程 + JVM 堆外内存 + Nacos/Sentinel 等中间件共存;8核可更好支撑并发与GC稳定性,避免线程争抢。 |
| 内存 | 16 GB(最低)→ 推荐 32 GB | 各服务默认 JVM 堆设 -Xms512m -Xmx1024m,但实际建议按服务重要性差异化配置(如 gateway/system 可设 1.5–2G);Nacos(单机模式)建议预留 2–4G;Redis/Mysql 若同机部署需额外预留;32GB 提供充足缓冲,避免频繁 GC 或 OOM。 |
| 磁盘 | ≥ 100 GB SSD(系统盘)+ 独立数据盘(MySQL/Redis/Nacos 日志等) | 避免日志/数据库写满根分区;建议 MySQL 数据目录、Nacos data、文件服务存储挂载到独立高性能 SSD 盘。 |
| 网络 | 千兆内网(微服务间高频调用)、公网带宽 ≥ 5 Mbps(视前端访问量而定) | Gateway 和 Auth 为流量入口,需保障网络吞吐。 |
📌 关键补充说明:
-
不建议「所有服务部署在同一台服务器」
✅ 生产环境强烈建议:- 中间件分离:Nacos、Redis、MySQL、Sentinel 控制台、Seata Server 应独立部署(至少 2C4G/台),或使用云厂商托管服务(如阿里云 ApsaraDB、Redis、ACM/Nacos 托管版)。
- 核心服务分组:gateway/system/auth 可合并在一台 8C32G 服务器(高可用需集群),file 和 monitor 可单独部署。
→ 单机部署仅适用于测试/POC,生产环境违背微服务解耦与高可用原则。
-
JVM 与参数调优至关重要
- 每个 Spring Boot 微服务建议:
-Xms1g -Xmx1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 - 禁用
-XX:+UseCompressedOops(当堆 > 32G 时需注意指针压缩) - 通过
jstat/Arthas/Actuator 监控 GC 频率与 Full GC 情况。
- 每个 Spring Boot 微服务建议:
-
高可用与扩展建议(进阶)
- Nacos:集群(≥3节点)+ MySQL 持久化
- Gateway & Auth:Nginx 负载均衡 + 多实例(至少2实例)
- MySQL:主从复制 + 读写分离(ShardingSphere 或应用层)
- 文件服务:对接 MinIO/OSS,避免本地存储单点故障
- 日志:ELK(Filebeat + ES + Kibana)或 Loki + Grafana
-
轻量替代方案(预算有限时)
- 若必须单机,最低底线为 4核16G(仅限低并发内部系统),并严格限制服务数量(如关闭 ruoyi-file、ruoyi-monitor,复用云存储和云监控)。
✅ 总结推荐(生产首选):
8 核 CPU + 32 GB 内存 + 200 GB SSD(系统盘) + 独立数据盘(MySQL/Redis/Nacos)
并将中间件(Nacos/Redis/MySQL)拆分至专用节点或采用云托管服务,实现真正松耦合与可伸缩架构。
如需,我可为你提供:
- RuoYi-Cloud 各服务的 JVM 参数模板(YAML/Shell)
- Docker Compose 生产级部署示例(含资源限制)
- Nacos 集群 + MySQL 持久化配置指南
- Prometheus + Grafana 监控看板配置
欢迎继续提问 👍
CLOUD云枢