RuoYi-Cloud-Plus 微服务架构文档

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 可视化请求链路,快速定位分布式调用问题

三、系统架构图

架构分层

  1. 接入层:通过 SpringCloud Gateway 统一入口,处理路由、鉴权、限流等
  2. 应用层:核心业务微服务(如系统管理、代码生成、工作流等)
  3. 中间件层:Nacos(注册 / 配置)、Redis(缓存)、Seata(事务)等
  4. 数据层:支持 MySQL、Oracle 等多数据源,通过 Sharding-Proxy 实现分库分表

四、模块划分

  1. ruoyi-api:系统接口模块,包含各服务对外暴露的 API 定义

  2. ruoyi-common:通用组件模块,包括核心工具类、文档配置(SpringDoc)、数据校验等

  3. ruoyi-modules:业务模块

    • ruoyi-system:系统管理(用户、角色、权限等核心功能)
    • ruoyi-gen:代码生成器,支持多数据源一键生成 CRUD 代码与页面
    • ruoyi-workflow:工作流模块,支持复杂审批流程
  4. ruoyi-visual:可视化与中间件模块,如 Seata 服务端、监控组件等

  5. 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 实现了微服务架构的高可用性、可扩展性与可维护性,同时降低了开发与部署成本,适合企业级应用快速落地。

相关推荐
Java水解3 小时前
Spring Data JPA与Kingbase数据库的完美邂逅:构建高效数据持久层
后端·spring
我是华为OD~HR~栗栗呀4 小时前
22届考研(华为oD)-Java面经
java·c++·后端·python·考研·华为od·华为
武子康4 小时前
大数据-105 Spark GraphX 入门详解:分布式图计算框架全面解析 架构、算法与应用场景
大数据·后端·spark
盖世英雄酱581365 小时前
Where条件顺序会影响索引的使用?
数据库·后端
小信丶5 小时前
Spring Boot启动报错:Failed to configure a DataSource 全面解析与解决方案
spring boot·后端·mybatis
bcbnb5 小时前
iOS 26 性能测试实战,如何评估启动速度、CPUGPU 负载、帧率与系统资源适配(uni-app 与 iOS 原生应用性能方案)
后端
atwednesday5 小时前
后端需统一拦截的异常(适用于nestjs)
后端
IT_陈寒6 小时前
Vue 3.4性能优化实战:这5个技巧让我的应用加载速度提升了300%!🚀
前端·人工智能·后端
QYR行业咨询6 小时前
2025-2031全球与中国隧道照明灯具市场现状及未来发展趋势
前端·后端