SpringBlade微服务架构

SpringBlade 是一个由商业级项目升级优化而来的微服务架构,采用Spring Boot 2.7 、Spring Cloud 2021 等核心技术构建,完全遵循阿里巴巴编码规范。

提供基于React和Vue的两个前端框架用于快速搭建企业级的SaaS多租户微服务平台。

特点

  • 采用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)
  • 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool
  • BladeTool已推送至Maven中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发
  • 集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。
  • 注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
  • 使用Traefik进行反向代理,监听后台变化自动化应用新的配置文件。
  • 极简封装了多租户底层,用更少的代码换来拓展性更强的SaaS多租户系统。
  • 借鉴OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。
  • 借鉴Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
  • 稳定生产了三年,经历了从 Camden -> Hoxton -> 2021 的技术架构,也经历了从fat jar -> docker -> k8s + jenkins的部署架构。
  • 项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。

架构图

图片

图片

功能

  • 独特的多租户架构:符合中国式需求的多租户架构,支持多租户一数据库、一租户一数据库、多租户多数据库等多种模式灵活组合。
  • 完善的权限管理:系统提供菜单按钮权限、数据权限、接口权限三种配置。基于注解+Web的组合配置方式,灵活多变,即时生效。
  • 协同办公工作流:深度定制了满足SpringCloud分布式场景的Flowable工作流,为复杂流程保驾护航,同时提供SpringBoot集成版本。
  • 在线报表设计器:基于架构在Spring之上的纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。
  • 主流数据库兼容:一套代码完全兼容Mysql、Oracle、PostgreSQL、SqlServer、达梦、崖山主流数据库,为各场景项目提供强力支持。
  • 全能代码生成器:支持自定义模型、模版 、业务建模,支持多种模板引擎,在线配置。大幅度提升开发效率,不再为重复工作发愁。

界面

BladeX 工作流一览

图片

图片

图片

图片

图片

图片

图片

图片图片

Sword 界面一览

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

Saber 界面一览

图片

图片
图片
图片
图片
图片
图片
图片
图片
图片

监控界面一览

图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片

开源地址

https://gitee.com/smallc/SpringBlade

扫码领红包

微信赞赏支付宝扫码领红包

发表回复

后才能评论