RuoYi-Cloud 是基于 Spring Cloud 微服务架构的分布式系统,相比单体版的 RuoYi-Vue,它对服务器资源的要求显著更高。因为微服务需要同时运行多个进程(如 ruoyi-admin、ruoyi-auth、guigu-service 等),且依赖 Redis、MySQL、Nacos 等中间件,“最低配置”通常指的是在开发测试环境或极低流量场景下勉强运行的极限值。
以下是针对不同部署模式的最低配置建议:
1. 核心结论速览
| 部署模式 | CPU (核) | 内存 (GB) | 硬盘 (GB) | 适用场景 |
|---|---|---|---|---|
| 单机 Docker/容器化 (推荐最低) | 2 | 4 | 20+ | 个人学习、演示、内部低并发测试 |
| 物理机直接安装 (不推荐) | 4 | 8 | 50+ | 生产环境(极小流量)或必须无容器的情况 |
| 生产环境 (稳定运行) | 4 | 8~16 | 50+ | 正式对外提供服务 |
注意:如果是在本地 Windows/Mac 开发,建议使用虚拟机或 Docker Desktop,确保分配给虚拟机的内存至少为 4GB – 8GB,否则启动时会频繁出现 OOM(内存溢出)。
2. 详细资源分析
A. 内存 (RAM) —— 最关键的瓶颈
RuoYi-Cloud 包含大量的 Java 进程和中间件,内存是首要消耗点:
- JVM 进程:每个微服务实例默认会占用一定堆内存。即使只跑几个核心服务,Java 进程起步也需要 512MB – 1GB。
- 中间件:
- Redis:约需 200MB – 500MB。
- MySQL:约需 500MB – 1GB(取决于缓冲池设置)。
- Nacos:作为注册中心,约需 500MB – 1GB。
- Gateway/OAuth:网关和认证服务本身也消耗内存。
- 计算:仅基础组件加起来就需要 3GB – 4GB 内存。因此,4GB 是绝对底线,低于此数值会导致 Nacos 或 MySQL 启动失败,或者应用频繁 GC 卡顿。
B. CPU (Core)
- 微服务架构涉及大量的网络调用和序列化/反序列化操作。
- 2 核:可以勉强启动所有服务,但在进行复杂查询或高并发请求时,CPU 使用率容易飙升至 100%,导致响应延迟。
- 4 核:较为舒适,能够应对一定的并发压力。
C. 硬盘与网络
- 硬盘:主要存储日志、数据库文件和应用包。20GB 足以支撑初始部署,但建议预留空间用于日志滚动(Log rotation),否则日志写满磁盘会导致服务崩溃。
- 网络:微服务间通信频繁,建议内网带宽不低于 1Mbps(实际测试中 2Mbps 以上体验较好)。
3. 优化建议与替代方案
如果你受限于硬件资源(例如只有 2G 内存的云服务器),想要运行 RuoYi-Cloud,可以采取以下策略:
-
精简服务模块:
- 不要启动所有业务模块(如
ruoyi-system,ruoyi-job,ruoyi-gateway等)。 - 仅启动核心模块:
ruoyi-common,ruoyi-framework,ruoyi-admin,ruoyi-auth,ruoyi-gateway以及基础的ruoyi-system。 - 注释掉非必要的业务服务依赖。
- 不要启动所有业务模块(如
-
调整 JVM 参数:
- 在
application.yml或启动脚本中强制限制各服务的最大堆内存(Xmx)。 - 例如,将每个服务的
-Xmx设置为256m或512m(默认通常是 1g 或更多)。 - 示例:
java -jar -Xms256m -Xmx512m ...
- 在
-
使用轻量级中间件:
- Nacos:可以尝试降低其内存配置,或者使用单机模式并限制其 Heap。
- MySQL:修改
my.cnf,减小innodb_buffer_pool_size(例如设置为 256M 或 512M)。 - Redis:关闭持久化(AOF/RDB)以减少内存占用。
-
架构降级(如果是为了学习):
- 如果只是学习 Spring Cloud 原理,可以先运行 RuoYi-Vue(单体版),它的最低配置仅需 2 核 2G 即可流畅运行。
- 待熟悉后,再迁移到 Cloud 版本。
总结
对于 RuoYi-Cloud:
- 理论最低:2 核 CPU + 4GB 内存(必须配合 Docker 隔离和资源限制,且需精简模块)。
- 推荐起步:4 核 CPU + 8GB 内存(这是保证开发和调试顺畅的性价比选择)。
- 生产环境:建议 4 核 8G 起步,并根据实际 QPS 进行垂直扩容。
CLOUD云枢