走啊走
加油

ruoyi-cloud部署在云服务需要最低配置?

服务器价格表

RuoYi-Cloud 基于 Spring Cloud 微服务架构,包含多个核心组件(如 Nacos、Sentinel、Gateway、Auth、System、Job 等),相比单体应用对资源消耗较大。在云服务上部署时,最低配置取决于你的业务场景(是仅用于开发测试,还是正式生产环境)以及预期的并发量。

以下是针对不同场景的推荐配置方案及详细分析:

1. 核心结论:最低配置建议

场景 CPU (核) 内存 (GB) 磁盘 (GB) 适用情况
开发/测试环境 2 vCPU 4 GB 50+ 个人学习、本地演示、低并发测试
生产环境 (最小) 4 vCPU 8 GB 100+ 内部小工具、低流量企业应用
生产环境 (推荐) 4 vCPU 16 GB 100+ 正常对外服务、中等并发

注意:如果选择 2 核 4G 作为生产环境,必须开启 Swap(虚拟内存),且需做好性能调优,否则极易出现 OOM(内存溢出)导致服务频繁重启。


2. 资源占用拆解分析

RuoYi-Cloud 默认包含以下主要组件,它们的内存占用如下(估算值):

  • JVM 基础开销:每个 Java 进程默认需要一定堆内存。若不开启 JVM 参数优化,单个服务可能占用 512MB - 1GB。
  • Nacos (注册中心/配置中心)
    • 默认模式:约 512MB - 1GB。
    • 优化后:可压缩至 300MB 左右。
  • Gateway (网关):约 200MB - 400MB。
  • Auth (认证服务):约 200MB - 300MB。
  • System (系统模块):约 300MB - 500MB。
  • Job (定时任务):约 200MB。
  • MySQL (数据库):通常建议独立部署。若共用一台服务器,MySQL 至少需要 1GB - 2GB 内存才能稳定运行。
  • Redis:约 200MB - 500MB(视缓存数据量而定)。

总内存计算逻辑
如果不拆分部署(所有服务在一台机器):
Nacos(800M) + Gateway(400M) + Auth(300M) + System(500M) + Job(200M) + MySQL(1000M) + Redis(500M) + JVM 元空间/堆 = 约 4.5GB ~ 6GB
这意味着 4GB 内存 的机器在运行 RuoYi-Cloud 时会非常吃力,几乎无法预留操作系统和其他缓冲空间。因此,生产环境强烈建议至少 8GB


3. 关键优化策略(如何在低配下运行)

如果你受限于预算,必须在 2 核 4G4 核 8G 的低配服务器上运行,请务必执行以下优化:

A. 数据库与中间件分离(强烈推荐)

不要将 MySQL、Redis 和 Nacos 都放在同一台应用服务器上。

  • 方案:使用云厂商提供的 RDS(云数据库)和 Redis 实例(按量付费或最低档)。
  • 收益:可以将应用服务器的内存压力释放掉一半以上,使得 2 核 4G 的应用服务器能跑起来。

B. 调整 JVM 参数

修改 application.yml 或启动脚本中的 JVM 参数,限制最大堆内存,防止 OOM。

# 示例:针对 4G 内存的机器,设置堆内存为 1.5G - 2G
-Xms1024m -Xmx1536m -XX:+UseG1GC

对于 Nacos,需单独调整其启动参数:

-nacos.conf --server.port=8848 -Xms512m -Xmx512m

C. 关闭非必要功能

  • 如果不需要监控大屏,可以暂时不部署 Spring Boot Admin 或减少 SkyWalking 探针。
  • 如果不需要复杂的限流规则,可以在启动时禁用 Sentinel Dashboard 的某些非核心功能。

D. 使用 Docker Compose 编排

使用 docker-compose 部署比直接 Jar 包运行更节省资源,且方便管理依赖版本。


4. 部署架构建议

为了获得最佳性价比和稳定性,建议采用以下两种架构之一:

方案一:极简单节点(适合测试/极低流量)

  • 服务器:2 vCPU / 4 GB RAM
  • 软件栈:Docker Compose 一键部署
  • 配置
    • MySQL:共享内存,需严格限制连接数。
    • Redis/Nacos:共享内存。
    • 风险:高并发下容易卡顿,数据库易崩溃。
  • 必须操作:增加 Swap 分区(建议 4GB-8GB)。

方案二:微服务分离(适合生产/正式项目)

  • 应用服务器:4 vCPU / 8 GB RAM(运行所有 Spring Cloud 微服务 + Nacos + Gateway)
  • 数据库服务器:2 vCPU / 4 GB RAM(运行 MySQL + Redis)
  • 优势:互不影响,数据库挂掉不会拖垮整个应用集群,扩展性更好。

总结

  • 最低可行配置2 核 4G(必须开启 Swap,且数据库需独立或极度精简,仅用于测试)。
  • 生产起步配置4 核 8G(这是比较稳妥的底线,建议配合云数据库使用)。
  • 推荐配置4 核 16G8 核 16G(根据业务量动态调整,保证系统流畅度)。

在云服务商购买实例时,建议选择支持弹性伸缩的机型,以便在业务高峰期自动增加配置,低谷期释放成本。