RuoYi-Cloud-Plus 架构文档
一、架构概述
RuoYi-Cloud-Plus 是基于 RuoYi-Cloud 重写的微服务通用权限管理系统,采用插件化 + 扩展包形式实现架构解耦,具备高扩展性与可维护性。系统遵循 Alibaba 代码规范,整合主流微服务技术栈,提供全方位的企业级解决方案,支持分布式部署、多数据源管理、全方位监控等核心能力,适用于各类中大型业务系统的快速搭建。
二、核心技术栈
1. 基础环境
- JDK 版本:支持 JDK 17/21
- 开发框架:Spring Boot 3.4
- 构建工具:Maven
2. 前端技术
- 框架:Vue3 + TypeScript
- UI 组件库:ElementPlus
- 特点:重写前端架构,提升类型安全性与开发效率
3. 后端核心技术
功能领域 | 技术选型 | 优势说明 |
---|---|---|
服务注册 / 配置 | Alibaba Nacos(源码集成) | 支持动态配置管理,扩展监控能力,便于二次开发 |
服务网关 | SpringCloud Gateway | 扩展内网鉴权、请求日志、跨域配置等功能 |
远程调用 | Apache Dubbo 3.X | 高性能 RPC 框架,支持多种协议,优于 Feign 的稳定性 |
权限认证 | Sa-Token + Jwt | 静态使用、低耦合、支持复杂权限表达式(如 AND/OR 组合校验) |
ORM 框架 | MyBatis-Plus | 基于对象操作数据库,减少 SQL 编写,内置多租户、分页等插件 |
缓存 | Redis + Redisson | 支持 90%+ Redis 命令,优化连接池,规避传统客户端缺陷 |
分布式事务 | Alibaba Seata(源码集成) | 对接 Nacos,简化部署流程,支持多数据源事务回滚 |
监控告警 | SpringBoot-Admin + Prometheus + Grafana | 实时监控服务状态、日志查看、多维度指标展示与报警 |
链路追踪 | Apache SkyWalking | 可视化请求链路,快速定位分布式调用问题 |
三、系统架构图

架构分层
- 接入层:通过 SpringCloud Gateway 统一入口,处理路由、鉴权、限流等
- 应用层:核心业务微服务(如系统管理、代码生成、工作流等)
- 中间件层:Nacos(注册 / 配置)、Redis(缓存)、Seata(事务)等
- 数据层:支持 MySQL、Oracle 等多数据源,通过 Sharding-Proxy 实现分库分表
四、模块划分
-
ruoyi-api:系统接口模块,包含各服务对外暴露的 API 定义
-
ruoyi-common:通用组件模块,包括核心工具类、文档配置(SpringDoc)、数据校验等
-
ruoyi-modules:业务模块
ruoyi-system
:系统管理(用户、角色、权限等核心功能)ruoyi-gen
:代码生成器,支持多数据源一键生成 CRUD 代码与页面ruoyi-workflow
:工作流模块,支持复杂审批流程
-
ruoyi-visual:可视化与中间件模块,如 Seata 服务端、监控组件等
-
ruoyi-example:示例模块,提供框架功能的使用案例
五、关键功能架构设计
1. 分布式能力
- 多数据源管理:基于 dynamic-datasource,支持异构数据库动态切换,通过 YML 配置或前端页面管理
- 分库分表:集成 Apache Sharding-Proxy,无入侵式实现数据分片,仅需配置规则
- 消息队列:支持 Kafka、RocketMQ、RabbitMQ,适配延迟消息、事务消息等场景
2. 代码生成架构
- 基于表结构自动生成 Entity、Mapper、Service、Controller 及前端页面
- 适配 MyBatis-Plus 与 SpringDoc,生成规范化代码,支持动态多数据源
3. 监控与可观测性
- 服务监控:SpringBoot-Admin 实时监控服务健康状态、在线日志
- 链路追踪:SkyWalking 记录请求经过的每个节点,可视化调用链路
- 指标监控:Prometheus 采集指标,Grafana 多模板展示,支持实时报警
六、部署架构
- 部署方式:支持 Docker 编排,一键搭建全环境(含中间件),减少环境配置成本
- 扩展性:服务可独立部署,通过 Nacos 动态扩缩容,适应业务增长
- 高可用:关键组件(如 Nacos、Redis)支持集群部署,避免单点故障
七、与 RuoYi 核心差异
维度 | RuoYi-Cloud-Plus | 原生 RuoYi |
---|---|---|
架构设计 | 插件化解耦,易于扩展 | 模块耦合严重 |
技术栈 | 整合 Dubbo、Redisson 等主流工具 | 依赖 Feign、Lettuce 等,功能有限 |
监控能力 | 全方位监控(服务、链路、指标) | 无内置监控 |
部署方式 | Docker 一键部署 | 原生 JAR 部署,需手动配置环境 |
代码生成 | 支持多数据源、动态生成 | 仅支持单数据源,功能简单 |
通过以上架构设计,RuoYi-Cloud-Plus 实现了微服务架构的高可用性、可扩展性与可维护性,同时降低了开发与部署成本,适合企业级应用快速落地。