第01章 - RuoYi-Cloud概述与入门
第01章 - RuoYi-Cloud概述与入门
1.1 RuoYi-Cloud简介
1.1.1 项目背景
RuoYi-Cloud(若依微服务版)是一套基于Spring Boot、Spring Cloud & Alibaba的分布式微服务架构权限管理系统。该项目是在若依(RuoYi)单体架构的基础上进行微服务化改造,采用前后端分离的模式,前端使用Vue.js + Element UI,后端基于Spring Cloud Alibaba生态构建。
若依系列框架由若依团队开发维护,是国内最受欢迎的开源后台管理系统之一。项目完全开源,个人和企业均可免费使用,这使得它成为了众多企业进行快速开发的首选框架。
1.1.2 项目特点
技术架构先进
- 采用Spring Boot 2.7.x + Spring Cloud 2021.x + Spring Cloud Alibaba 2021.x技术栈
- 注册中心和配置中心选用阿里巴巴开源的Nacos
- 流量控制框架选用阿里巴巴开源的Sentinel
- 分布式事务选用阿里巴巴开源的Seata
功能完善齐全
- 提供完整的RBAC权限管理体系
- 支持多租户、多数据源配置
- 内置代码生成器,快速CRUD开发
- 提供定时任务调度功能
- 支持分布式文件存储
文档资料丰富
- 官方提供详细的使用文档
- 活跃的技术社区支持
- 大量的实战教程和案例
易于扩展和定制
- 模块化设计,各服务独立部署
- 提供丰富的扩展接口
- 支持插件化开发
1.1.3 技术栈概览
| 技术 | 版本 | 说明 |
|---|---|---|
| Spring Boot | 2.7.18 | 基础框架 |
| Spring Cloud | 2021.0.9 | 微服务框架 |
| Spring Cloud Alibaba | 2021.0.6.1 | 阿里云微服务套件 |
| Nacos | 2.x | 注册中心、配置中心 |
| Sentinel | 1.8.x | 流量控制、熔断降级 |
| Seata | 1.6.x | 分布式事务 |
| Spring Boot Admin | 2.7.16 | 服务监控 |
| MyBatis | 3.5.x | ORM框架 |
| Druid | 1.2.27 | 数据库连接池 |
| Redis | 6.x+ | 缓存数据库 |
| MySQL | 5.7+ | 关系型数据库 |
| Vue.js | 2.x | 前端框架 |
| Element UI | 2.x | UI组件库 |
| JWT | 0.9.1 | 身份认证 |
1.1.4 版本说明
截至目前,RuoYi-Cloud最新版本为v3.6.7。主要更新包括:
- 升级Spring Boot至2.7.18版本
- 升级Spring Framework至5.3.39版本
- 升级Logback至1.2.13版本
- 升级Tomcat至9.0.112版本
- 优化安全配置,修复已知漏洞
- 增强系统稳定性和性能
1.2 系统功能介绍
1.2.1 核心功能模块
RuoYi-Cloud提供了企业级后台管理系统所需的全部核心功能:
用户管理
- 用户是系统操作者,该功能主要完成系统用户配置
- 支持用户的增删改查操作
- 支持用户状态管理(正常/停用)
- 支持用户密码重置
- 支持批量导入导出
部门管理
- 配置系统组织机构(公司、部门、小组)
- 树结构展现支持数据权限
- 支持部门的增删改查操作
- 支持部门状态管理
岗位管理
- 配置系统用户所属担任职务
- 支持岗位的增删改查操作
- 支持岗位排序和状态管理
菜单管理
- 配置系统菜单,操作权限,按钮权限标识等
- 支持目录、菜单、按钮三种类型
- 支持菜单权限与角色关联
- 支持菜单显示隐藏控制
角色管理
- 角色菜单权限分配
- 设置角色按机构进行数据范围权限划分
- 支持角色的增删改查操作
- 支持数据权限(全部数据权限/自定数据权限/本部门数据权限等)
字典管理
- 对系统中经常使用的一些较为固定的数据进行维护
- 支持字典类型和字典数据管理
- 支持字典缓存刷新
参数管理
- 对系统动态配置常用参数
- 支持参数的增删改查操作
- 支持参数缓存刷新
通知公告
- 系统通知公告信息发布维护
- 支持通知和公告两种类型
- 支持发布状态管理
1.2.2 系统监控功能
操作日志
- 系统正常操作日志记录和查询
- 系统异常信息日志记录和查询
- 支持日志导出
登录日志
- 系统登录日志记录查询
- 包含登录异常记录
- 支持登录IP、地点、浏览器等信息记录
在线用户
- 当前系统中活跃用户状态监控
- 支持强制下线功能
服务监控
- 监视当前系统CPU、内存、磁盘、堆栈等相关信息
- 实时展示服务器运行状态
连接池监视
- 监视当前系统数据库连接池状态
- 可进行分析SQL找出系统性能瓶颈
1.2.3 开发工具
定时任务
- 在线(添加、修改、删除)任务调度
- 包含执行结果日志
- 支持Cron表达式生成器
代码生成
- 前后端代码的生成(Java、HTML、XML、SQL)
- 支持CRUD下载
- 支持单表、主子表、树表三种代码生成模式
系统接口
- 根据业务代码自动生成相关的API接口文档
- 基于Springdoc + OpenAPI 3.0实现
在线构建器
- 拖动表单元素生成相应的HTML代码
- 支持多种表单组件
1.3 系统架构概述
1.3.1 整体架构图
┌─────────────────────────────────────────────────────────────┐
│ 外部访问层 │
│ (HTTP/HTTPS请求) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Nginx 反向代理 │
│ (负载均衡、静态资源) │
└─────────────────────────────────────────────────────────────┘
│ │
▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐
│ 前端 Vue 应用 │ │ Gateway 网关服务 │
│ (ruoyi-ui) │ │ (ruoyi-gateway) │
│ [80] │ │ [8080] │
└──────────────────────────┘ └──────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Sentinel 流量控制 │
│ (限流、熔断、降级) │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────────────────────┼─────────────────────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐
│ 认证中心 Auth │ │ 系统模块 System │ │ 其他业务模块 │
│ (ruoyi-auth) │ │ (ruoyi-modules-system) │ │ (ruoyi-modules-*) │
│ [9200] │ │ [9201] │ │ [920x/930x] │
└──────────────────────────┘ └──────────────────────────┘ └──────────────────────────┘
│ │ │
└─────────────────────────────────────────┼─────────────────────────────────────────┘
│
┌─────────────────────────────────────────┼─────────────────────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐
│ Nacos │ │ Redis │ │ MySQL │
│ (注册中心/配置中心) │ │ (缓存服务) │ │ (数据库服务) │
│ [8848/9848/9849] │ │ [6379] │ │ [3306] │
└──────────────────────────┘ └──────────────────────────┘ └──────────────────────────┘
1.3.2 模块结构
com.ruoyi
├── ruoyi-ui // 前端框架 [80]
├── ruoyi-gateway // 网关模块 [8080]
├── ruoyi-auth // 认证中心 [9200]
├── ruoyi-api // 接口模块
│ └── ruoyi-api-system // 系统接口
├── ruoyi-common // 通用模块
│ └── ruoyi-common-core // 核心模块
│ └── ruoyi-common-datascope // 权限范围
│ └── ruoyi-common-datasource // 多数据源
│ └── ruoyi-common-log // 日志记录
│ └── ruoyi-common-redis // 缓存服务
│ └── ruoyi-common-seata // 分布式事务
│ └── ruoyi-common-security // 安全模块
│ └── ruoyi-common-sensitive // 数据脱敏
│ └── ruoyi-common-swagger // 系统接口
├── ruoyi-modules // 业务模块
│ └── ruoyi-system // 系统模块 [9201]
│ └── ruoyi-gen // 代码生成 [9202]
│ └── ruoyi-job // 定时任务 [9203]
│ └── ruoyi-file // 文件服务 [9300]
├── ruoyi-visual // 图形化管理模块
│ └── ruoyi-visual-monitor // 监控中心 [9100]
├── pom.xml // 公共依赖
1.3.3 服务端口规划
| 服务名称 | 端口 | 说明 |
|---|---|---|
| ruoyi-ui | 80 | 前端Vue项目 |
| ruoyi-gateway | 8080 | 网关服务 |
| ruoyi-auth | 9200 | 认证中心 |
| ruoyi-system | 9201 | 系统模块 |
| ruoyi-gen | 9202 | 代码生成 |
| ruoyi-job | 9203 | 定时任务 |
| ruoyi-file | 9300 | 文件服务 |
| ruoyi-monitor | 9100 | 监控中心 |
| Nacos | 8848 | 注册配置中心 |
| Redis | 6379 | 缓存服务 |
| MySQL | 3306 | 数据库服务 |
1.4 快速体验
1.4.1 在线演示
若依官方提供了在线演示环境,可以快速体验系统功能:
演示地址: http://ruoyi.vip
测试账号:
- 管理员账号:admin
- 管理员密码:admin123
注意事项:
- 演示环境仅供体验,请勿进行破坏性操作
- 部分敏感操作可能受限
- 数据会定期清理
1.4.2 文档资源
官方文档: http://doc.ruoyi.vip
官方文档包含:
- 项目介绍
- 环境部署
- 项目扩展
- 其它扩展
- 常见问题
1.4.3 源码仓库
Gitee仓库(推荐):
GitHub仓库:
1.5 相关项目
RuoYi系列框架包含多个版本,可根据实际需求选择:
| 项目名称 | 说明 | 技术栈 |
|---|---|---|
| RuoYi | 单体架构版本 | Spring Boot + Thymeleaf |
| RuoYi-Vue | 前后端分离版本 | Spring Boot + Vue |
| RuoYi-Cloud | 微服务版本 | Spring Cloud Alibaba + Vue |
| RuoYi-Cloud-Vue3 | 微服务Vue3版本 | Spring Cloud Alibaba + Vue3 + Vite |
| RuoYi-App | 移动端版本 | uni-app |
选型建议:
- 小型项目、快速开发:选择RuoYi(单体版本)
- 中型项目、前后端分离:选择RuoYi-Vue
- 大型项目、微服务架构:选择RuoYi-Cloud
- 需要Vue3技术栈:选择RuoYi-Cloud-Vue3
- 需要移动端:选择RuoYi-App配合后端使用
1.6 学习路线
1.6.1 基础知识准备
学习RuoYi-Cloud之前,建议具备以下基础知识:
后端技术:
- Java基础及面向对象编程
- Spring Boot基础
- Spring Cloud基础概念
- MyBatis或MyBatis-Plus
- Maven项目管理
前端技术:
- HTML/CSS/JavaScript基础
- Vue.js 2.x基础
- Element UI组件库
- Axios HTTP客户端
数据库:
- MySQL基础
- Redis基础
开发工具:
- Git版本控制
- IDEA或Eclipse等IDE
1.6.2 推荐学习顺序
-
第一阶段:环境搭建与项目运行
- 安装开发环境
- 下载项目源码
- 本地运行项目
- 熟悉项目结构
-
第二阶段:核心功能学习
- 用户、角色、菜单管理
- 权限控制原理
- 数据库设计
-
第三阶段:微服务架构深入
- Nacos注册中心与配置中心
- Gateway网关
- 服务间调用
- 分布式事务
-
第四阶段:二次开发实践
- 代码生成器使用
- 新增业务模块
- 自定义权限控制
- 接口安全加固
-
第五阶段:部署与运维
- Docker容器化部署
- Kubernetes编排
- 日志管理与监控
- 性能优化
1.7 本教程结构
本教程将从入门到精通,全面讲解RuoYi-Cloud的各个方面:
| 章节 | 内容 |
|---|---|
| 第01章 | RuoYi-Cloud概述与入门 |
| 第02章 | 系统架构详解 |
| 第03章 | 环境准备与安装部署 |
| 第04章 | 微服务模块详解 |
| 第05章 | 认证与授权中心 |
| 第06章 | 网关服务详解 |
| 第07章 | 系统管理模块 |
| 第08章 | 代码生成器使用 |
| 第09章 | 定时任务模块 |
| 第10章 | 文件服务与存储 |
| 第11章 | 前端Vue项目详解 |
| 第12章 | 数据库设计与管理 |
| 第13章 | Docker容器化部署 |
| 第14章 | 二次开发指南 |
| 第15章 | 最佳实践与常见问题 |
1.8 小结
本章介绍了RuoYi-Cloud的基本概念、系统功能、技术架构以及学习路线。RuoYi-Cloud作为一款功能完善、文档齐全的开源微服务框架,非常适合作为企业级项目的基础框架使用。
通过学习本教程,您将能够:
- 理解微服务架构设计思想
- 掌握Spring Cloud Alibaba技术栈
- 熟练使用RuoYi-Cloud进行二次开发
- 具备独立搭建微服务项目的能力
下一章,我们将深入讲解RuoYi-Cloud的系统架构设计。

浙公网安备 33010602011771号