今天看啥  ›  专栏  ›  马小梦

源码分享!基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构

马小梦  · CSDN  ·  · 2020-11-08 21:16

基于springboot cloud构建的一个商城项目,包括前端,后端和h5应用,小程序,作为zscat应用实践的模板项目。基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构。并引入组件化的思想实现高内聚低耦合,[ 微信 + 支付宝 + 百度 + 头条 ] 小程序 + APP + 公众号 + PC + H5 项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,积分商城,分销商城并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等

1.项目技术

  • 前后端分离的企业级微服务架构
  • 基于Spring Boot 2.0.X、Spring Cloud Finchley和Spring Cloud Alibaba
  • 深度定制Spring Security真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案
  • 提供应用管理,方便第三方系统接入
  • 引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易
  • 注重代码规范,严格控制包依赖,每个工程基本都是最小依赖
  • 非常适合学习和企业中使用

2. 项目总体架构图

需要获取源码的朋友点赞这篇文章+关注我,扫码获取!

基于SpringBoot Cloud构建的一个商城项目源码分享

3. 功能介绍

  • 统一认证功能 支持oauth2的四种模式登录支持用户名、密码加图形验证码登录支持手机号加密码登录支持openId登录支持第三方系统单点登录
  • 分布式系统基础支撑 服务注册发现、路由与负载均衡服务降级与熔断服务限流(url/方法级别)统一配置中心统一日志中心统一分布式缓存操作类、cacheManager配置扩展分布式锁分布式任务调度器支持CI/CD持续集成(包括前端和后端)分布式高性能Id生成器分布式事务
  • 系统监控功能 服务调用链监控应用拓扑图慢服务检测服务Metric监控应用监控(应用健康、JVM、内存、线程)错误日志查询慢查询SQL监控应用吞吐量监控(qps、rt)服务降级、熔断监控服务限流监控分库分表、读写分离
  • 业务基础功能支撑 高性能方法级幂等性支持RBAC权限管理,实现细粒度控制(方法、url级别)快速实现导入、导出功能数据库访问层自动实现crud操作代码生成器基于Hutool的各种便利开发工具网关聚合所有服务的Swagger接口文档统一跨域处理统一异常处理

4. 模块说明

mallcloud -- 父项目,公共依赖
│  ├─mall-business -- 业务模块一级工程
│  │  ├─user-center -- 用户中心[7000]
│  │  ├─file-center -- 文件中心[5000]
│  │  ├─member-center -- 会员中心[7001]
│  │  ├─goods-center -- 商品中心[7002]
│  │  ├─order-center -- 订单中心[7003]
│  │  ├─marking-center -- 营销中心[7004]
│  │─mall-commons -- 通用工具一级工程
│  │  ├─mall-auth-client-spring-boot-starter -- 封装spring security client端的通用操作逻辑
│  │  ├─mall-common-spring-boot-starter -- 封装通用操作逻辑
│  │  ├─mall-db-spring-boot-starter -- 封装数据库通用操作逻辑
│  │  ├─mall-log-spring-boot-starter -- 封装log通用操作逻辑
│  │  ├─mall-redis-spring-boot-starter -- 封装Redis通用操作逻辑
│  │  ├─mall-ribbon-spring-boot-starter -- 封装Ribbon和Feign的通用操作逻辑
│  │  ├─mall-sentinel-spring-boot-starter -- 封装Sentinel的通用操作逻辑
│  │  ├─mall-swagger2-spring-boot-starter -- 封装Swagger通用操作逻辑
│  ├─mall-config -- 配置中心
│  ├─mall-doc -- 项目文档
│  ├─mall-gateway -- api网关一级工程
│  │  ├─zuul-gateway -- netflix-zuul[8080]
│  ├─mall-job -- 分布式任务调度一级工程
│  │  ├─job-admin -- 任务管理器[8081]
│  │  ├─job-core -- 任务调度核心代码
│  │  ├─job-executor-samples -- 任务执行者executor样例[8082]
│  ├─mall-monitor -- 监控一级工程
│  │  ├─sc-admin -- 应用监控[6500]
│  │  ├─log-center -- 日志中心[6200]
│  ├─mall-uaa -- spring-security认证中心[8000]
│  ├─mall-register -- 注册中心Nacos[8848]
│  ├─mall-transaction -- 事务一级工程
│  │  ├─txlcn-tm -- tx-lcn事务管理器[7970]
│  ├─mall-demo -- demo一级工程
│  │  ├─txlcn-demo -- txlcn的demo
│  │  ├─sharding-jdbc-demo -- sharding-jdbc的demo

后台功能列表

基于SpringBoot Cloud构建的一个商城项目源码分享

小程序功能列表

基于SpringBoot Cloud构建的一个商城项目源码分享

uniapp

uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。

5. 截图(点击可大图预览)

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

基于SpringBoot Cloud构建的一个商城项目源码分享

需要获取源码的朋友点赞这篇文章+关注我,扫码获取!




原文地址:访问原文地址
快照地址: 访问文章快照