基于SpringCloud + SpringBoot的 SaaS型微服务脚手架源码分享

简介:

基于SpringCloud(Hoxton.SR3) + SpringBoot(2.2.6.RELEASE) 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,非常适合学习使用。核心技术采用Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis、SpringBoot、Seata、Nacos、Sentinel、 RabbitMQ、FastDFS等主要框架和中间件。

希望能努力打造一套从 SaaS基础框架 - 分布式微服务架构 - 持续集成 - 系统监测 的解决方案。本项目旨在实现基础能力,不涉及具体业务。

如果需要这个项目的源码

模式介绍

本项目可以通过配置,轻松切换项目的 租户模式

基于SpringCloud + SpringBoot的 SaaS型微服务脚手架源码分享

部署方面, 可以采用以下几种方式:

  • IDEA 启动
  • jar部署
  • docker部署
  • k8s部署
  • jenkins自动化部署

项目架构图

基于SpringCloud + SpringBoot的 SaaS型微服务脚手架源码分享

技术栈/版本介绍:

  • 所涉及的相关的技术有:JSON序列化:Jackson消息队列:RabbitMQ缓存:Redis缓存框架:J2Cache数据库: MySQL 5.7.9 或者 MySQL 8.0.19定时器:采用xxl-jobs项目进行二次改造前端:vue持久层框架: Mybatis-plus代码生成器:基于Mybatis-plus-generator自定义API网关:Gateway服务注册与发现: Nacos服务消费:OpenFeign负载均衡:Ribbon配置中心:Nacos服务熔断:Hystrix项目构建:Maven 3.3分布式事务: seata分布式系统的流量防卫兵: Sentinel监控: spring-boot-admin 2.2.0链路调用跟踪: zipkin 2.19.2文件服务器:FastDFS 5.0.5/阿里云OSS/本地存储Nginx
  • 部署方面:服务器:CentOSJenkinsDocker 18.09Kubernetes 1.12

本代码采用 Intellij IDEA(2018.1 EAP+) 来编写,但源码与具体的 IDE 无关。

PS: Lombok版本过低会导致枚举类型的参数无法正确获取参数,经过调试发现因为版本多低后,导致EnumDeserializer的 Object obj = p.getCurrentValue();取的值为空。

项目截图:

基于SpringCloud + SpringBoot的 SaaS型微服务脚手架源码分享

源码以及全部上传完毕:

基于SpringCloud + SpringBoot的 SaaS型微服务脚手架源码分享

如果需要这个项目的源码

猜你喜欢

转载自blog.csdn.net/qq_46388795/article/details/113652141