RuoYi-Cloud 基于 Spring Cloud Alibaba,组件多、依赖重。所谓的“配置”完全取决于你的业务体量和并发量。
别被网上那些“高配神机”忽悠了。对于大多数中小型企业或内部系统,核心原则是:内存优先,CPU 其次,带宽看情况。
下面分场景给出具体的服务器配置建议(以 CentOS 7/8 或 Ubuntu 20.04+ 为例):
一、 单机测试/开发环境
场景:个人学习、原型验证、本地跑通流程。
部署方式:所有服务(Nacos, Gateway, Auth, System, Gen 等)全部装在一台机器上,或者用 Docker Compose 一键拉起。
- 配置建议:
- CPU:4 核
- 内存:16 GB(这是底线,低于 8G 会卡死,因为 Nacos + MySQL + Redis + 多个微服务进程非常吃内存)
- 硬盘:SSD 100 GB+
- 带宽:3 Mbps – 5 Mbps(仅内网或低并发访问)
注意:如果是为了省钱想搞 2C4G 甚至 2C2G,除非你只启动最核心的几个服务并手动关闭不需要的模块,否则极易出现 OOM(内存溢出)。
二、 小型生产环境(轻量级集群)
场景:日活几千到几万,内部管理系统,非高并发 C 端应用。
部署方式:基础中间件(MySQL, Redis, MQ)独立部署或容器化;微服务节点至少 2 个实现高可用。
1. 基础中间件服务器(建议独立)
- MySQL:
- CPU:4 核
- 内存:8 GB(InnoDB 缓冲池需要足够内存保证性能)
- 硬盘:SSD 200 GB+(IOPS 很重要)
- Redis:
- CPU:2 核
- 内存:4 GB
- Nacos(注册中心+配置中心):
- CPU:2 核
- 内存:4 GB(建议开启持久化,数据量大了后内存占用会增加)
- RocketMQ/Kafka(消息队列):
- CPU:2 核
- 内存:4 GB
2. 微服务应用服务器(集群节点)
- 数量:至少 2 台(避免单点故障)
- 单台配置:
- CPU:4 核
- 内存:8 GB
- 硬盘:SSD 100 GB+
- 带宽:5 Mbps – 10 Mbps
为什么这么配?
RuoYi-Cloud 默认包含很多模块(代码生成、定时任务、监控等)。每个微服务 JVM 初始堆内存设得稍大一点(比如 -Xms512m -Xmx1g),加上操作系统开销,4C8G 能稳稳运行 3-5 个核心微服务而不频繁 GC。
三、 中型生产环境(标准集群)
场景:有一定外部用户访问,并发较高,对稳定性要求高。
部署方式:全面容器化(K8s 或 Docker Swarm),各组件水平扩展。
1. 基础中间件(高可用架构)
- MySQL:主从复制架构,双机热备。
- 每台:8 核 / 16 GB 内存 / SSD 500 GB+
- Redis:Cluster 集群模式。
- 每个节点:4 核 / 8 GB 内存
- Nacos:集群模式(至少 3 节点)。
- 每个节点:4 核 / 8 GB 内存
- Seata(分布式事务):
- 如果用到 AT 模式,建议单独一台:4 核 / 8 GB 内存
2. 微服务应用服务器
- 数量:根据实际 QPS 弹性伸缩,通常起步 4-6 台
- 单台配置:
- CPU:8 核
- 内存:16 GB
- 硬盘:SSD 200 GB+
- 带宽:10 Mbps – 20 Mbps
关键点:8C16G 的机器可以承载更多微服务实例,或者为每个服务分配更大的 JVM 堆内存,减少 Full GC 频率,提升响应速度。
四、 大型生产环境(高性能集群)
场景:高并发 C 端产品,秒杀活动,海量数据。
部署方式:Kubernetes 集群,自动化运维,全链路压测。
- 中间件:使用云厂商托管服务(RDS, Redis Cluster, RocketMQ 专业版等),自建成本高且维护困难。
- 应用服务器:
- CPU:16 核+
- 内存:32 GB+
- 网络:万兆内网,网络带宽按需购买弹性 IP 或走 CDN。
五、 避坑指南 & 优化建议
-
JVM 参数必须调优
RuoYi-Cloud 默认的application.yml或启动脚本中的 JVM 参数往往不适合生产环境。- 不要设置
-Xmx过大,导致 Swap 交换。 - 推荐参数示例(针对 8G 内存机器):
-Xms512m -Xmx512m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 - 对于 16G 以上机器,可以适当增加堆内存,但不要超过物理内存的 70%。
- 不要设置
-
Linux 内核参数优化
部署前务必修改/etc/sysctl.conf:net.core.somaxconn = 32768 net.ipv4.tcp_max_syn_backlog = 32768 vm.swappiness = 10 # 降低 swap 使用倾向 fs.file-max = 655350然后执行
sysctl -p生效。 -
Nacos 数据库选择
- 测试环境用 Derby(内置)。
- 生产环境必须用 MySQL,并且建议 MySQL 版本 >= 5.7 或 8.0。Nacos 在 Derby 下长时间运行会出现连接泄漏和数据不一致问题。
-
日志管理
RuoYi-Cloud 默认输出大量 INFO 级别日志。生产环境建议:- 使用 ELK 或 Loki + Grafana 收集日志。
- 本地磁盘只保留最近 7 天的滚动日志,避免磁盘写满导致服务崩溃。
-
安全加固
- 禁用 root 远程登录。
- 防火墙只开放必要端口(如 80, 443, 9200, 9090 等)。
- Nacos 控制台必须修改默认账号密码(nacos/nacos),并启用鉴权。
总结
| 环境 | 核心中间件配置 | 应用节点配置 | 节点数量 | 总成本估算(月) |
|---|---|---|---|---|
| 开发/测试 | 1x 4C16G (含 DB/Redis/Nacos) | – | 1 | ¥100-200 |
| 小型生产 | 3x 4C8G (DB, Redis, Nacos) | 2x 4C8G | 5 | ¥500-800 |
| 中型生产 | 3x 8C16G (HA 中间件) | 4x 8C16G | 7+ | ¥1500-2500 |
| 大型生产 | 云托管服务 + K8s 集群 | 按需弹性 | 动态 | ¥5000+ |
最后忠告:先按“小型生产”配置搭建,通过 JMeter 进行压测。观察 CPU、内存、GC 次数和网络 IO。哪里瓶颈补哪里,不要一开始就过度设计。RuoYi-Cloud 的优势在于快速开发,而不是极致性能优化。如果真遇到性能瓶颈,优先考虑 SQL 优化、缓存策略和代码逻辑,而不是盲目加机器。
CLOUD云计算