yudao-cloud icon indicating copy to clipboard operation
yudao-cloud copied to clipboard

ruoyi-vue-pro 全新 Cloud 版本,优化重构所有功能。基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付...

ruoyi-vue-pro 为基础,实现的 Spring Cloud Alibaba 微服务架构。进度如下:

  • [x] gateway 网关服务
  • [x] system 系统服务
  • [x] infra 基础设施
  • [ ] bpm 工作流服务
  • [ ] pay 支付服务
  • [ ] member 会员服务
  • [ ] product 商品服务
  • [ ] market 营销服务
  • [ ] trade 交易服务

启动文档,可见 https://cloud.iocoder.cn/quick-start/ 地址。


前言

基于微服务的思想,构建在 B2C 电商场景下的项目实战。

演示

艿艿:目前的开发者,都是后端出身。所以,一帮没有审美自觉的人,撸出来的前端界面,可能是东半球倒数第二难看。

迫切希望,有前端能力不错的小伙伴,加入我们,一起来完善「芋道商城」。

管理后台

体验传送门:http://dashboard.shop.iocoder.cn

GIF 图-耐心等待

H5 商城

体验传送门:http://h5.shop.iocoder.cn

2M 带宽小水管,访问略微有点慢

GIF 图-耐心等待

其它演示

下面,我们会提供目前用到的中间件的管理平台。

艿艿:考虑到大家可以看到更全的功能,所以一般提供 admin 账号。所以,大家素质使用哟。

SkyWalking UI

教程:《芋道 SkyWalking 安装部署》

Grafana UI

  • 地址:http://grafana.shop.iocoder.cn:18099
  • 演示账号:yudaoyuanma / yudaoyuanma
  • 用于展示 Prometheus 收集的 Metrics 指标数据。

Dubbo Admin

  • 地址:http://dubbo-admin.shop.iocoder.cn:18099
  • 管理员账号:无需登陆

RocketMQ Console

教程:《芋道 RocketMQ 安装部署》

XXL-Job Console

教程:《芋道 XXL-Job 安装部署》

Sentinel Console

教程:《芋道 Sentinel 安装部署》

技术

搭建环境

搭建调试环境

架构图

TODO 此处应有一个架构图的装逼 JPG 图。

项目结构

模块 名称 端口
admin-dashboard-vue 【前端】管理后台 HTTP 9527
user-dashboard-vue 【前端】商城平台 HTTP 8080
management-web-app 【后端】管理平台 HTTP 服务 HTTP 18083 接口文档
shop-web-app 【后端】商城平台 HTTP 服务 HTTP 18084 接口文档
system-service-project 系统 RPC 服务 随机
user-service-project 用户 RPC 服务 随机
promotion-service-project 营销 RPC 服务 随机
pay-service-project 支付 RPC 服务 随机
trade-service-project 交易 RPC 服务 随机
product-service-project 商品 RPC 服务 随机
search-service-project 搜索 RPC 服务 随机

后端项目,目前的项目结构如下:

[-] xxx-web-app // 提供对外 HTTP API。

[-] xxx-service-project
    ├──[-] xxx-service-api // 提供对内 RPC API 。
    ├──[-] xxx-service-app // 提供对内 RPC 实现。
    ├──[-] xxx-service-integration-test // 集成测试。

技术栈

后端

框架 说明 版本
Spring Boot 应用开发框架 2.1.4
MySQL 数据库服务器 5.6
Druid JDBC 连接池、监控组件 1.1.16
MyBatis 数据持久层框架 3.5.1
MyBatis-Plus Mybatis 增强工具包 3.1.1
Redis key-value 数据库 暂未引入,等压测后,部分模块
Redisson Redis 客户端 暂未引入,等压测后,部分模块
Elasticsearch 分布式搜索引擎 6.7.1
Dubbo 分布式 RPC 服务框架 2.7.1
RocketMQ 消息中间件 4.3.2
Seata 分布式事务中间件 0.5.1
Zookeeper 分布式系统协调 3.4.9 作为注册中心
XXL-Job 分布式任务调度平台 2.0.1
springfox-swagger2 API 文档 2.9.2
swagger-bootstrap-ui Swagger 增强 UI 实现 1.9.3

未来考虑引入

  • [ ] 配置中心 Apollo
  • [ ] 服务保障 Sentinel
  • [ ] 网关 Soul

前端

商城 H5

框架 说明 版本
Vue JavaScript 框架 2.5.17
Vant Vue UI 组件库 3.13.0

管理后台

框架 说明 版本
Vue JavaScript 框架 2.5.17
Vue Element Admin 后台前端解决方案 -

监控

一般来说,监控会有三种方式:

  • 1、Tracing ,我们采用 Apache SkyWalking
  • 2、Logging ,我们采用 ELK
  • 3、Metrics ,我们采用 Prometheus
框架 说明 版本
SkyWalking 分布式应用追踪系统 6.0.0
Prometheus 服务监控体系 2.9.2
Alertmanager 告警管理器 0.17.0
Grafana 仪表盘和图形编辑器 0.17.0

其它

  • Jenkins 持续集成
  • Nginx 服务器
  • [ ] Docker 容器
  • [ ] Nginx

某种结尾

目前成员

  • 小范
  • 芋艿