部署 Spring Cloud Blade
关于 Spring Cloud Blade
- 采用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)
- 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool
- BladeTool已推送至Maven中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发
- 集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。
- 注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
- 极简封装了多租户底层,用更少的代码换来拓展性更强的SaaS多租户系统。
- 借鉴OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。
- 借鉴Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
- 项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。
模块说明
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
通过源码部署 Spring Cloud Blade
本文档教程基于 Spring Cloud Blade v3.5.0 版本部署
一、部署 Nacos
通过开源应用商店部署 Nacos
,在开源应用商店中搜索 Nacos单机
并选择安装 2.1.2
版本。
二、部署 Redis
通过开源应用商店部署 Redis
,在开源应用商店中搜索 Redis
并选择安装 5.0.7
版本。
三、部署 Sentinel Dashboard
通过开源应用商店部署 Sentinel Dashboard
,在开源应用商店中搜索 Sentinel-Dashboard
并选择安装 1.8.6
版本。
四、初始化数据库
从开源应用商店安装的 Nacos
自带了 Mysql
组件,进入该组件中 -> 端口 -> 打开对外服务,通过客户端工具连接。
- 创建
blade
数据库。 - 初始化表结构和数据:Blade SQL