【终身会员免费】微服务企业版快速开发框架(SaaS模式)源码(企业版,含视频20G)

 

核心技术采用Spring Cloud Alibaba、SpringBoot、Mybatis、Seata、Sentinel、RabbitMQ、FastDFS/MinIO、SkyWalking等主要框架和中间件。
希望能努力打造一套从 JavaWeb基础框架 – 分布式微服务架构 – 持续集成 – 系统监测 的解决方案。本项目旨在实现基础能力,不涉及具体业务。

基于SpringCloud(Hoxton.SR9) + SpringBoot(2.3.6.RELEASE) 的微服务快速开发平台,其中的可配置的SaaS功能尤其闪耀。具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动代码生成、多种存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发,支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,注释齐全,架构清晰,非常适合学习和企业作为基础框架使用。

功能介绍:

  1. 租户管理:运营人员管理所有的租户创建
  2. 工作台:普通用户常用功能
  3. 组织管理:组织、岗位、用户数据维护、重置用户密码等
  4. 资源中心:消息、短信、附件管理
  5. 流程管理:流程部署、模型管理、流程示例
  6. 系统设置:菜单、资源配置、角色管理、给角色绑定用户、给角色授权菜单和资源、字典、地区、系统参数、操作日志、登录日志、应用管理等
  7. 网关设置:限流和阻止访问
  8. 开发者管理:定时任务、接口文档、注册&配置中心、服务监控、数据库监控、zipkin监控、SkyWalking监控

项目亮点功能介绍:

  1. 服务注册&发现与调用:基于Nacos来实现的服务注册与发现,使用使用Feign来实现服务互调, 可以做到使用HTTP请求远程调用时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
  2. 负载均衡:将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。
  3. 服务鉴权:通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
  4. 熔断机制:因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。
  5. 监控:利用Spring Boot Admin 来监控各个独立Service的运行状态;利用turbine来实时查看接口的运行状态和调用频率;通过Zipkin来查看各个服务之间的调用链等。
  6. 链路调用监控:同时实现了Zipkin和SkyWalking作为本项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间。
  7. 数据权限利用基于Mybatis的DataScopeInnerInterceptor拦截器实现了数据权限功能
  8. SaaS(多租户)的无感解决方案本项目支持3种常见的租户解决方案和无租户方案,同一套代码,修改一个配置即可实现租户模式只有切换。
  9. 缓存抽象采用CacheOps操作缓存,内置2种实现:Caffeine、 Redis,可以让项目应急时在无Redis环境正常运行
  10. 优雅的Bean转换采用Dozer、BeanUtil等组件来对 DTO、DO、PO等对象的优化转换
  11. 前后端统一表单验证严谨的表单验证通常需要 前端+后端同时验证, 但传统的项目,均只能前后端各做一次检验, 后期规则变更,又得前后端同时修改。
    故在hibernate-validator的基础上封装了lamp-validator-starter起步依赖,提供一个通用接口,可以获取需要校验表单的规则,然后前端使用后端返回的规则,
    以后若规则改变,只需要后端修改即可。
  12. 防跨站脚本攻击(XSS)
    • 通过过滤器对所有请求中的 表单参数 进行过滤
    • 通过Json反序列化器实现对所有 application/json 类型的参数 进行过滤
  13. 当前登录用户信息注入器
    • 通过注解实现用户身份注入
  14. 在线API由于原生swagger-ui某些功能支持不够友好,故采用了国内开源的knife4j,并制作了stater,方便springboot用户使用。
  15. 代码生成器基于Mybatis-plus-generator自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger注解等。
  16. 定时任务调度器:基于xxl-jobs进行了功能增强。(如:指定时间发送任务、执行器和调度器合并项目、多数据源)
  17. 大文件/断点/分片续传前端采用webupload.js、后端采用NIO实现了大文件断点分片续传,启动Eureka、Zuul、File服务后,直接打开docs/chunkUploadDemo/demo.html即可进行测试。
    经测试,本地限制堆栈最大内存128M启动File服务,5分钟内能成功上传4.6G+的大文件,正式服耗时则会受到用户带宽和服务器带宽的影响,时间比较长。
  18. 分布式事务集成了阿里的分布式事务中间件:seata,以 高效 并且对业务 0侵入 的方式,解决 微服务 场景下面临的分布式事务问题。
  19. 跨表、跨库、跨服务的关联数据自动注入器用于解决跨表、跨库、跨服务分页数据的属性或单个对象的属性 回显关联数据之痛, 支持对静态数据属性(数据字典)、动态主键数据进行自动注入。
  20. 灰度发布为了解决频繁的服务更新上线,版本回退,快速迭代,公司内部协同开发,本项目采用修改ribbon的负载均衡策略来实现来灰度发布。

技术栈/版本介绍:

  • 所涉及的相关的技术有:
    • JSON序列化:Jackson
    • 消息队列:RabbitMQ
    • 缓存:Redis
    • 数据库: MySQL 5.7.9 或者 MySQL 8.0.19
    • 定时器:采用xxl-jobs项目进行二次改造
    • 前端:vue + element-ui
    • 持久层框架: Mybatis-plus
    • 代码生成器:基于Mybatis-plus-generator自定义
    • API网关:Gateway/zuul
    • 服务注册&发现和配置中心: Nacos
    • 服务消费:OpenFeign
    • 负载均衡:Ribbon
    • 服务熔断:Hystrix
    • 项目构建:Maven
    • 分布式事务: seata
    • 分布式系统的流量防卫兵: Sentinel
    • 监控: spring-boot-admin
    • 链路调用跟踪: zipkin/SkyWalking
    • 文件服务器:FastDFS 5.0.5/阿里云OSS/本地存储/MinIO
    • Nginx
  • 部署方面:
    • 服务器:CentOS
    • Jenkins
    • Docker
    • Kubernetes
视频目录:
01.视频简介.mp4
02.工欲善其事必先利其器.mp4
03.工欲善其事必先利其器.mp4
04.工欲善其事必先利其器.mp4
05.快速导入项目.mp4
06.redis&mysql&rabbitmq配置介绍.mp4
07.nacos配置和启动.mp4
08.nacos配置导入.mp4
09.seata配置和启动.mp4
10.zuihou-admin-cloud启动.mp4
11.zuihou-monitor介绍&网关介绍.mp4
12.zipkin启动.mp4
13.zipkin补充.mp4
14.zipkin通过WEB方式传输.mp4
15.zuihou-ui前端配置讲解&启动.mp4
16.zuihou-ui前端启动&系统功能介绍.mp4
17.文件下载&预览讲解.mp4
18.4种租户模式如何切换.mp4
19.zuihou-admin-boot项目启动&前端项目路由代理配置修改.mp4
20.自定义序列化&反序列化规则细节讲解.mp4
21.自定义TypeHandler.mp4
22.自定义TypeHandler补充.mp4
23.Wraps增强功能.mp4
24.swagger文档调试技巧.mp4
25.批量修改项目名&包名.mp4
26.批量修改项目名&包名——启动验证.mp4
27.各个服务和模块的分层原理.mp4
28.zuihou-core讲解1.mp4
29.zuihou-core讲解2.mp4
30.zuihou-boot模块base包讲解.mp4
31.zuihou-boot模块boot包讲解.mp4
32.zuihou-cache-starter讲解.mp4
33.zuihou-cloud-starter配置类讲解.mp4
34.zuihou-cloud-starterFeignClient传递日期类型参数.mp4
35.zuihou-cloud-starterFeignClient传递请求头和线程变量.mp4
36.zuihou-cloud-starter全局Fallback.mp4
37.zuihou-cloud-starterRestTemplate使用.mp4
38.zuihou-cloud-starter自定义负载均衡策略实现灰度发布.mp4
39.zuihou-jobs-server单机模式介绍.mp4
40.zuihou-jobs-server分布式模式介绍.mp4
41.zuihou-databases讲解1.mp4
42.zuihou-databases讲解2.mp4
43.zuihou-databases动态数据源模式源码分析&Debug技巧&实现原理.mp4
44.zuihou-databasesSCHEMA模式Debug技巧&实现原理.mp4
45.zuihou-databasesCOLUMN模式实现原理.mp4
46.zuihou-databasesSuperMapper新增方法使用介绍.mp4
47.zuihou-databases自定义类型处理器介绍.mp4
48.zuihou-databasesLbqWrapper行政方法介绍.mp4
49.zuihou-databasesMapper\_包下base和ext的区别.mp4
50.zuihou-databases数据权限使用介绍.mp4
51.zuihou-databases分布式事务使用介绍.mp4
52.zuihou-dozer-starter使用介绍.mp4
52.zuihou-mq-starter介绍.mp4
53.zuihou-injection-starter自动注入使用原理.mp4
54.zuihou-j2cache-starter常用API介绍.mp4
55.zuihou-j2cache-stater修改序列化方式.mp4
56.zuihou-j2cache-stater调整配置只使用1级缓存.mp4
57.zuihou-j2cache-stater调整2级缓存配置.mp4
58.zuihou-jwt-starterJWT使用介绍.mp4
59.zuihou-log-starter操作日志注解使用和原理.mp4
60.zuihou-log-starter全局logback配置文件.mp4
61.zuihou-log-starterMDC介绍.mp4
62.zuihou-security-starter认证模块介绍.mp4
63.zuihou-security-starter认证模块使用演示.mp4
64.zuihou-swagger-starter使用介绍.mp4
65.zuihou-swagger配置文件详解.mp4
66.zuihou-security-stater在zuihou-ui进行URI权限分配.mp4
67.zuihou-validator-stater使用介绍.mp4
68.zuihou-xss-stater介绍.mp4
69.大文件上传介绍.mp4
70.zuihou-cloud-plus介绍.mp4
71.zuihou-gateway-server介绍.mp4
72.zuihou-generator新建服务.mp4
73.zuihou-generator生成JAVA代码.mp4
74.zuihou-generator生成前端代码(分页结构).mp4
75.zuihou-generator生成Tree结构页面.mp4

 

 

发表评论