简介
- SpringBlade 2.0 是如梦技术团队作品,是一个基于 Spring Boot 2 & Spring Cloud Finchley & Mybatis 等核心技术,用于快速构建中大型系统的基础框架。
- SpringBlade 致力于创造新颖的开发模式,将开发中遇到的痛点、生产中所踩的坑整理归纳,并将解决方案都融合到框架中。
注意事项
- 注册中心为 Consul
- 基于 SpringBoot2.x 版本 以及 SpringCloud Finchley 版本
主要特性&&变化
- 采用前后端分离的模式,前端单独开源出一个框架:Sword,主要选型技术为React、Ant Design、Umi、Dva
- 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:Blade-Tool
- Blade-Tool已推送至maven中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发
- 注册中心选型Consul
- 部署使用docker或k8s + Jenkins
- 使用traefik进行反向代理
- 踩了踩kong的坑,有个基本的使用方案,但不深入,因为涉及到OpenResty。
- 封装了简单的secure模块,采用JWT做token认证,可拓展集成redis等细颗粒度控制方案
- 在2.0诞生之前,已经稳定生产了近一年,经历了从Camden -> Finchley的技术架构,也经历了从fat jar -> docker -> k8s + jenkins的部署架构
- 项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。
工程结构
SpringBlade ├── blade-auth -- 授权服务提供 ├── blade-common -- 常用工具封装包 ├── blade-gateway -- Spring Cloud 网关 ├── blade-ops -- 运维中心 ├ ├── blade-admin -- spring-cloud后台管理 ├ ├── blade-codegen -- 代码生成 ├ └── blade-config-server -- 配置中心 ├── blade-service -- 业务模块 ├ ├── blade-desk -- 工作台模块 ├ ├── blade-log -- 日志模块 ├ ├── blade-system -- 系统模块 ├ └── blade-user -- 用户模块 ├── blade-service-api -- 业务模块api封装 ├ ├── blade-desk-api -- 工作台api ├ ├── blade-dict-api -- 字典api ├ ├── blade-system-api -- 系统api └── └── blade-user-api -- 用户api
界面一览
项目地址
https://gitee.com/smallc/SpringBlade