推荐一款接私活项目神器,微服务也能搞定!(包含工作流)

353 阅读3分钟

一、微服务开发平台

  • 采用前后端分离的模式,前端开源两个框架: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 -> 2020 的技术架构,也经历了从fat jar -> docker -> k8s + jenkins的部署架构。
  • 项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。

二、架构图

图片

三、工程结构

SpringBlade
├── blade-auth -- 授权服务提供
├── blade-common -- 常用工具封装包
├── blade-gateway -- Spring Cloud 网关
├── blade-ops -- 运维中心
├    ├── blade-admin -- spring-cloud后台管理
├    ├── blade-develop -- 代码生成
├    ├── blade-resource -- 资源管理
├    ├── blade-seata-order -- seata分布式事务demo
├    ├── blade-seata-storage -- seata分布式事务demo
├── 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  Java项目分享

四、在线演示

五、用户权益

  • 允许免费用于学习、毕设、公司项目、私活等。
  • 对未经过授权和不遵循 Apache 2.0 协议二次开源或者商业化我们将追究到底。
  • 参考请注明:参考自 SpringBlade:gitee.com/smallc/Spri… 。另请遵循 Apache 2.0 协议。
  • 注意:若禁止条款被发现有权追讨 19999 的授权费。

六、界面

BladeX 工作流一览

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

Sword 界面一览

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

Saber 界面一览

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

七、监控界面一览

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

八、项目主要特点和代码

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

项目地址:SpringBlade