Go to file
YunaiV efaeb5b39d 1. 增加 XXL-Job starter
2. 迁移 pay 服务的 Job 逻辑
2020-11-30 18:47:57 +08:00
common 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
docs 1. 订单服务,修改为交易服务 2020-11-26 18:40:07 +08:00
mall-dependencies 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
management-web-app 增加令牌刷新逻辑 2020-08-26 20:47:46 +08:00
moved 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
pay-service-project 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
product-service-project 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
promotion-service-project 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
search-service-project 修改 search 服务的 dev dubbo 配置 2020-08-05 00:21:51 +08:00
shop-web-app 完成 pingxx 支付回调接口 2020-11-30 01:07:28 +08:00
system-service-project 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
trade-service-project 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
user-service-project 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00
.editorconfig - 优化,重新设定 .editorconfig 规则 2020-05-08 11:05:11 +08:00
.gitattributes - 后端:修改配置文件,指向服务器 2019-05-09 19:34:31 +08:00
.gitignore git commit 忽略target下的文件 2019-06-15 23:35:57 +08:00
http-client.env.json 初始化商品分页接口 2020-08-04 08:12:08 +08:00
LICENSE add LICENSE. 2020-07-04 20:32:32 +08:00
pom.xml 将 user-web-app 合并到 shop-web-app 中,简化项目数量 2020-11-29 21:24:10 +08:00
README.md 1. 增加 XXL-Job starter 2020-11-30 18:47:57 +08:00

[toc]

友情提示:近期在升级和优化该项目,建议先 Star 本项目。主要在做几个事情:

  • 1、微服务技术选型以 Spring Cloud Alibaba 为中心。
  • 2、修改项目分层并合并部分服务简化整体服务的复杂性。
  • 3、将管理后台从 React 重构到 Vue 框架。

交流群:传送门

前言

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

  • 「Talk is cheap. Show me the code」屁话少说放码过来

    我们看过很多技术文章,却依然不知道微服务该咋整。

  • 这会是一个认真做的业务开源项目,目前 Java 代码 2w+ 行,不包括注释的情况下。

  • 整体的功能如下图:功能图

    功能图,和实际后端模块拆分,并不是绝对对应。

  • 交流群:传送门

    一起交流Get 知识。

  • 我们迫切希望更多的参与进来,可以加入「交流群」,一起骚聊。

演示

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

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

管理后台

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

GIF 图-耐心等待

H5 商城

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

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

GIF 图-耐心等待

其它演示

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

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

SkyWalking UI

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

Grafana UI

Dubbo Admin

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

某种结尾

目前成员

  • 小范
  • 芋艿