RuoYi-Cloud 是基于 Spring Cloud Alibaba 的微服务架构,相比单体应用(RuoYi-Vue),它对资源的要求更高,因为包含了 Nacos、Sentinel、Gateway、Auth、System、Gen 等多个独立服务进程。
在云环境中部署时,“最低配置”取决于你的业务规模、并发量以及是否开启监控和日志归档。以下是针对不同场景的推荐配置方案:
1. 极限最低配置(仅限开发/测试环境)
如果你只是在本地或测试服务器上进行功能验证,且用户访问量极低(<50 QPS),可以尝试以下配置。
注意:此时数据库和中间件建议也使用容器化或轻量级实例,否则内存极易爆满。
| 组件 | 推荐配置 (vCPU / 内存) | 说明 |
|---|---|---|
| 应用服务器 | 2 核 4G | 运行所有微服务(Nacos, Gateway, Auth, System 等)。JVM 堆内存需限制在 1.5G-2G 以内,防止 OOM。 |
| 数据库 (MySQL) | 2 核 4G | 如果与微服务同机,需共享内存;建议分离。若同机,需调小 MySQL 缓存 (innodb_buffer_pool_size)。 |
| Redis | 1 核 2G | 用于缓存会话、字典数据等。 |
| 操作系统 | Linux (CentOS 7+/Ubuntu 20+) | 必须关闭 Swap 分区,防止频繁交换导致性能抖动。 |
风险预警:此配置下,启动所有服务后,剩余内存可能仅剩几百兆,一旦有少量并发或 GC(垃圾回收)发生,服务极易崩溃。
2. 生产环境起步配置(推荐最低)
如果是正式的小型企业内部系统或低流量对外服务,为了保证稳定性(避免频繁重启、GC 停顿),建议采用分离部署策略。
方案 A:单台服务器部署(适合预算有限的小型项目)
- 应用服务器:4 核 8G
- 可以容纳大部分核心服务。
- JVM 参数示例:
-Xms2g -Xmx4g。 - 需要配合
docker-compose或K8s进行资源隔离。
- 数据库/中间件:建议使用云厂商提供的 RDS 和 Redis 托管服务(按量付费),不要占用应用服务器的内存。
- MySQL: 2 核 4G
- Redis: 1 核 2G
- Nacos: 2 核 4G (若自建)
方案 B:多节点分离部署(高可用推荐)
这是最稳妥的“最低”生产方案,将计算资源和数据存储分开。
-
应用集群 (App Server):
- 数量:至少 2 台(用于负载均衡和高可用)。
- 单机配置:2 核 4G。
- 总资源:4 核 8G。
- 优势:一台挂掉,另一台可接管,避免单点故障。
-
中间件层 (Middleware):
- Nacos: 2 核 4G (3 节点集群最佳,但 2 节点勉强可用)。
- MySQL: 2 核 4G (开启主从备份更佳)。
- Redis: 2 核 4G (哨兵模式或 Cluster)。
- Gateway/Auth: 通常包含在应用节点中,无需单独机器。
3. 关键优化建议(降低资源消耗的核心)
无论选择哪种配置,如果不进行优化,RuoYi-Cloud 都会非常吃内存。请务必执行以下操作:
-
Docker 容器化部署:
- 强烈建议使用 Docker Compose 或 K8s 部署。
- 为每个服务设置
memory_limit(例如限制 Nacos 为 1G,Gateway 为 512M),防止某个服务内存泄漏拖垮整个服务器。
-
JVM 参数调优:
- 默认配置通常不适合云服务器。
- 修改
application.yml或启动脚本中的-Xms和-Xmx。 - 对于 4G 内存的机器,建议设置
-Xms1g -Xmx2g,给操作系统和其他进程留出空间。
-
精简依赖:
- RuoYi-Cloud 默认包含很多模块(如代码生成、定时任务、在线文档等)。
- 如果不需要,可以在
pom.xml中排除相关依赖,或者在启动类中通过@SpringBootApplication(exclude = ...)禁用不需要的服务模块,直接减少内存占用。
-
使用云原生托管服务:
- 数据库:直接使用阿里云 RDS、腾讯云 CDB 等。它们虽然贵一点,但省去了维护 MySQL 的高额内存开销(MySQL 默认配置很吃内存)。
- 注册中心/配置中心:部分云厂商提供托管版 Nacos,比自己搭建更稳定且节省运维精力。
总结结论
- 纯开发/测试:2 核 4G 单台服务器(需严格限制 JVM 内存,风险较高)。
- 正式生产(最小成本):2 台 2 核 4G 的应用服务器 + 云厂商托管的 MySQL/Redis/Nacos。
- 正式生产(稳定推荐):2 台 4 核 8G 应用服务器 + 云厂商托管中间件。
特别提醒:RuoYi-Cloud 是微服务架构,其本质是“用资源换扩展性”。如果服务器配置低于 2 核 4G,很难同时跑通 Nacos + Gateway + Auth + System 等核心服务而不出现内存溢出(OOM)。
CLOUD云枢