一、引言
在快速迭代的软件开发领域,一个高效、可扩展且功能全面的后台管理系统是企业数字化转型的重要基石。芋道源码的 yudao-cloud
项目,作为 ruoyi-vue-pro
的全新 Cloud 版本,通过深度优化与重构,为开发者提供了一个基于 Spring Cloud Alibaba 微服务架构的全方位解决方案。本文将深入探讨 yudao-cloud
的技术架构、核心功能及其在实际应用中的优势。
二、技术架构概览
后端架构
yudao-cloud
后端采用 Spring Cloud Alibaba 微服务架构,集成了众多业界领先的组件,包括:
-
服务注册与配置中心:Nacos 作为服务注册与配置中心,提供了服务的动态注册与发现、配置管理等功能,极大地简化了服务间的依赖关系。
-
服务网关:Spring Cloud Gateway 作为 API 网关,负责路由转发、鉴权、限流等,为前端提供统一的访问入口。
-
消息队列:RocketMQ 用于处理分布式系统中的消息传递,支持高并发、高可靠性的消息通信。
-
分布式事务:Seata 解决了微服务架构下的分布式事务问题,确保数据一致性。
-
定时任务:XXL-JOB 提供了轻量级的分布式任务调度解决方案。
-
服务保障:Sentinel 用于服务的流量控制、熔断降级,保障服务的稳定性。
数据库与缓存
项目支持多种数据库,包括 MySQL、Oracle、PostgreSQL 等,通过 MyBatis Plus 简化数据库操作。同时,利用 Redis 及 Redisson 实现数据缓存,提升系统性能。
权限与安全
-
权限认证:结合 Spring Security、Token 机制与 Redis,实现多终端、多用户的认证系统,支持 SSO 单点登录。
-
动态权限控制:支持加载动态权限菜单,实现按钮级别的权限控制,确保系统安全。
实时通信
采用 Spring WebSocket 实现实时通信功能,内置 Token 身份校验,支持 WebSocket 集群,为系统提供高效的实时交互能力。
三、技术架构详述
yudao-cloud项目的前端技术架构基于Vue.js框架,采用了Element-Plus、Vben(Ant-Design-Vue)和uni-app等多种UI组件库,实现了电脑端和移动端的统一管理。同时,项目支持多终端、多种用户的认证系统,支持SSO单点登录,并集成了实时通信、报表设计器等功能。
平台简介
芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。
-
Java 后端:
master
分支为 JDK 8 + Spring Boot 2.7,master-jdk17
分支为 JDK 17/21 + Spring Boot 3.2 -
管理后台的电脑端:Vue3 提供 element-plus、vben(ant-design-vue) 两个版本,Vue2 提供 element-ui 版本
-
管理后台的移动端:采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5!
-
后端采用 Spring Cloud Alibaba 微服务架构,注册中心 + 配置中心 Nacos,定时任务 XXL-Job,服务保障 Sentinel,服务网关 Gateway,分布式事务 Seata
-
数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等,基于 MyBatis Plus、Redis + Redisson 操作
-
消息队列可使用 Event、Redis、RabbitMQ、Kafka、RocketMQ 等
-
权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO 单点登录
-
支持加载动态权限菜单,按钮级别权限控制,Redis 缓存提升性能
-
支持 SaaS 多租户系统,可自定义每个租户的权限,提供透明化的多租户底层封装
-
高效率开发,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表
-
实时通信,采用 Spring WebSocket 实现,内置 Token 身份校验,支持 WebSocket 集群
-
集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款
-
集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务
-
集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏
🐳 项目关系
三个项目的功能对比,可见社区共同整理的 国产开源项目对比 表格。
后端项目
项目 | Star | 简介 |
---|---|---|
ruoyi-vue-pro | | 基于 Spring Boot 多模块架构 |
yudao-cloud | | 基于 Spring Cloud 微服务架构 |
Spring-Boot-Labs | | 系统学习 Spring Boot & Cloud 专栏 |
前端项目
项目 | Star | 简介 |
---|---|---|
yudao-ui-admin-vue3 | | 基于 Vue3 + element-plus 实现的管理后台 |
yudao-ui-admin-vben | | 基于 Vue3 + vben(ant-design-vue) 实现的管理后台 |
yudao-mall-uniapp | | 基于 uni-app 实现的商城小程序 |
yudao-ui-admin-vue2 | | 基于 Vue2 + element-ui 实现的管理后台 |
yudao-ui-admin-uniapp | | 基于 Vue2 + element-ui 实现的管理后台 |
yudao-ui-go-view | | 基于 Vue3 + naive-ui 实现的大屏报表 |
😎 开源协议
为什么推荐使用本项目?
① 本项目采用比 Apache 2.0 更宽松的 MIT License 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。
② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。国产开源项目对比
③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,57000 行 Java 代码,22000 行代码注释。
🐼 内置功能
系统内置多种多种业务功能,可以用于快速你的业务系统:
-
通用模块(必选):系统功能、基础设施
-
通用模块(可选):工作流程、支付系统、数据报表、会员中心
-
业务系统(按需):ERP 系统、CRM 系统、商城系统、微信公众号
友情提示:本项目基于 RuoYi-Vue 修改,重构优化后端的代码,美化前端的界面。
额外新增的功能,我们使用 🚀 标记。
重新实现的功能,我们使用 ⭐️ 标记。
🙂 所有功能,都通过 单元测试 保证高质量。
系统功能
工作流程
支付系统
功能 | 描述 | |
---|---|---|
🚀 | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 |
🚀 | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单 |
🚀 | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单 |
🚀 | 回调通知 | 查看支付回调业务的【支付】【退款】的通知结果 |
🚀 | 接入示例 | 提供接入支付系统的【支付】【退款】的功能实战 |
基础设施
功能 | 描述 | |
---|---|---|
🚀 | 代码生成 | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 |
🚀 | 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 |
🚀 | 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 |
表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件 | |
🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 |
⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 |
🚀 | 文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、FTP、数据库等 |
🚀 | WebSocket | 提供 WebSocket 接入示例,支持一对一、一对多发送方式 |
🚀 | API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 |
MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈 | |
Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 | |
🚀 | 消息队列 | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 |
🚀 | Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 |
🚀 | 链路追踪 | 接入 SkyWalking 组件,实现链路追踪 |
🚀 | 日志中心 | 接入 SkyWalking 组件,实现日志中心 |
🚀 | 服务保障 | 基于 Redis 实现分布式锁、幂等、限流功能,满足高并发场景 |
🚀 | 日志服务 | 轻量级日志中心,查看远程服务器的日志 |
🚀 | 单元测试 | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 |
数据报表
功能 | 描述 | |
---|---|---|
🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 |
🚀 | 大屏设计器 | 拖拽生成数据大屏,内置几十种图表组件 |
微信公众号
功能 | 描述 | |
---|---|---|
🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 |
🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 |
🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 |
🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 |
🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 |
🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 |
🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 |
🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 |
🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 |
🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 |
商城系统
演示地址:https://cloud.iocoder.cn/mall-preview/
会员中心
功能 | 描述 | |
---|---|---|
🚀 | 会员管理 | 会员是 C 端的消费者,该功能用于会员的搜索与管理 |
🚀 | 会员标签 | 对会员的标签进行创建、查询、修改、删除等操作 |
🚀 | 会员等级 | 对会员的等级、成长值进行管理,可用于订单折扣等会员权益 |
🚀 | 会员分组 | 对会员进行分组,用于用户画像、内容推送等运营手段 |
🚀 | 积分签到 | 回馈给签到、消费等行为的积分,会员可订单抵现、积分兑换等途径消耗 |
ERP 系统
演示地址:https://cloud.iocoder.cn/erp-preview/
CRM系统
演示地址:https://cloud.iocoder.cn/crm-preview/
🐨 技术栈
微服务
项目 | 说明 |
---|---|
yudao-dependencies | Maven 依赖版本管理 |
yudao-framework | Java 框架拓展 |
yudao-server | 管理后台 + 用户 APP 的服务端 |
yudao-module-system | 系统功能的 Module 模块 |
yudao-module-member | 会员中心的 Module 模块 |
yudao-module-infra | 基础设施的 Module 模块 |
yudao-module-bpm | 工作流程的 Module 模块 |
yudao-module-pay | 支付系统的 Module 模块 |
yudao-module-mall | 商城系统的 Module 模块 |
yudao-module-mp | 微信公众号的 Module 模块 |
yudao-module-report | 大屏报表 Module 模块 |
演示图
移动端(管理后台)
biu | biu | biu |
---|---|---|
| | |
| | |
| | |
四、核心功能
系统功能
yudao-cloud
提供了丰富的系统功能,包括但不限于用户管理、角色管理、权限管理、菜单管理等,满足企业日常运营的基本需求。
基础设施
集成了日志管理、监控告警、文件上传下载等基础设施功能,为系统稳定运行提供有力保障。
高级功能
-
多租户系统:支持 SaaS 多租户模式,可自定义每个租户的权限,提供透明化的多租户底层封装。
-
工作流:内置工作流引擎,支持自定义业务流程,提升业务处理效率。
-
商城系统:提供完整的商城解决方案,包括商品管理、订单管理、支付与退款等功能。
-
CRM & ERP:集成客户关系管理(CRM)与企业资源计划(ERP)系统,助力企业数字化转型。
五、开发效率与便捷性
-
代码生成器:支持一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,极大提升开发效率。
-
多端适配:管理后台移动端采用 uni-app 方案,实现一份代码多终端适配,支持 APP、小程序、H5。
-
集成第三方服务:集成微信小程序、微信公众号、企业微信、钉钉等三方登录,以及支付宝、微信等支付与退款服务,方便企业快速接入外部资源。
六、结论
yudao-cloud
作为芋道源码的旗舰项目,通过深度整合 Spring Cloud Alibaba 微服务架构与业界领先的组件,构建了一个功能全面、高效可扩展的后台管理系统。其丰富的功能集、高效的开发效率以及良好的扩展性,使得 yudao-cloud
成为企业数字化转型的理想选择。无论是个人开发者还是企业团队,都能从中受益,快速搭建并部署自己的后台管理系统。
项目地址:
https://gitee.com/zhijiantianya/yudao-cloud
启动文档:
https://cloud.iocoder.cn/quick-start/
视频教程:
https://cloud.iocoder.cn/video/
演示地址:
https://cloud.iocoder.cn/mall-preview/
前端技术交流群: