RuoYi-Cloud(若依微服务版)基于 Spring Cloud Alibaba 构建,包含 Nacos、Sentinel、Seata、Gateway、Auth、System、Job 等多个核心组件。由于是微服务架构,其资源消耗远高于单体应用(如 RuoYi-Vue)。
在云环境中部署,“最低配置”取决于你的业务并发量。如果是用于开发测试、内部小范围试用或极低并发的演示环境,可以压缩到极致;如果是正式生产环境,建议预留冗余。
以下是针对不同场景的推荐配置方案:
1. 极限最低配置(仅限开发/测试/演示)
适用场景:本地学习、功能验证、非关键业务演示、日均访问量 < 50。
风险:内存极易溢出(OOM),启动慢,多服务同时运行可能导致部分服务崩溃重启。
| 组件类型 | 推荐规格 (CPU / 内存) | 说明 |
|---|---|---|
| 云服务器 (ECS/CVM) | 2 核 4G 或 4 核 8G | 必须选择 4G 以上内存,否则无法同时启动所有微服务。2 核 4G 仅能勉强跑通流程,需开启 Swap 分区。 |
| 数据库 (MySQL) | 2 核 4G (独立实例或容器) | 建议与后端分离,不要放在同一台机器上,否则数据库会抢占大量内存导致 OOM。 |
| 缓存 (Redis) | 1 核 2G (独立实例) | 同样建议独立部署,避免竞争资源。 |
| Nginx/Gateway | 1 核 1G | 可复用后端服务器,但需注意端口冲突。 |
⚠️ 关键优化建议:
- Swap 分区:如果只有 4G 内存,务必在 Linux 中设置至少 4G 的 Swap 交换空间,防止内存不足直接杀死进程。
- JVM 参数:手动调整各服务的
-Xms和-Xmx,例如设置为1g或512m,避免默认占用过多堆内存。- 精简组件:关闭不必要的模块(如
ruoyi-job定时任务、ruoyi-system中的某些非核心日志监控等)。
2. 入门生产配置(小型企业/内部系统)
适用场景:正式投入使用、日活用户较少、有基本稳定性要求。
优势:各组件资源隔离,系统稳定,具备一定抗抖动能力。
| 组件类型 | 推荐规格 (CPU / 内存) | 说明 |
|---|---|---|
| 应用服务器集群 | 4 核 8G × 2 台 (负载均衡) | 建议至少两台做主备或轮询,避免单点故障。单台 4C8G 足以支撑 90% 的微服务并发。 |
| 数据库 (MySQL) | 4 核 8G (高可用版) | 使用云厂商的主从架构或高可用版。 |
| 缓存 (Redis) | 2 核 4G (哨兵模式) | 保证缓存不丢失且读写性能足够。 |
| 注册中心 (Nacos) | 2 核 4G (独立节点) | Nacos 对内存有一定要求,建议单独分配资源。 |
3. 为什么不能太低?(资源瓶颈分析)
RuoYi-Cloud 的资源消耗主要来自以下几个方面,这也是限制最低配置的原因:
- JVM 开销:每个微服务(Auth, Gateway, System, Job 等)都是一个独立的 Java 进程。Java 启动本身就需要几百 MB 内存,加上 JVM 堆栈,10 个服务起步,基础内存占用就在 4GB+。
- 中间件依赖:
- Nacos:作为注册中心和配置中心,自身常驻内存较大。
- Sentinel:流量控制组件需要维护大量的统计信息。
- Seata:分布式事务组件,额外增加网络交互和内存负担。
- Docker/K8s 开销:如果你使用 Docker 部署,每个容器还有额外的镜像层和守护进程开销。
4. 部署前的必要检查清单
在提交订单购买云资源前,请确认以下事项:
- 操作系统:推荐使用 CentOS 7.9 或 Ubuntu 20.04/22.04 LTS(64 位)。
- 网络带宽:微服务间调用频繁,内网带宽影响不大,但公网带宽建议至少 3Mbps – 5Mbps 起步,否则页面加载会卡顿。
- 磁盘 I/O:建议使用 SSD 云盘,机械硬盘会导致 MySQL 查询和日志写入极慢。
- 防火墙与安全组:确保开放了 80/443 (Nginx), 8848 (Nacos), 3306 (MySQL), 6379 (Redis) 以及各个微服务端口(如 8080, 8081 等)。
总结建议
- 如果是为了学习/测试:买一台 2 核 4G 的云服务器,配合 Swap 分区,或者直接使用 阿里云/腾讯云的轻量应用服务器(Lighthouse) 2 核 4G 版本,性价比最高。
- 如果是为了上线运行:强烈建议采用 4 核 8G 以上的配置,并将数据库和 Redis 拆分到独立的云产品(RDS/云数据库 Redis),虽然成本稍高,但能避免“因为内存不够导致整个系统挂掉”的尴尬情况。
CLOUD技术博