部署 Spring Cloud Blade
- 采用前后端分离的模式,前端开源两个框架: (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)
- 后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:
- BladeTool已推送至Maven中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发
- 集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。
- 注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
- 极简封装了多租户底层,用更少的代码换来拓展性更强的SaaS多租户系统。
- 借鉴OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。
- 借鉴Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
- 项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。
通过源码部署 Spring Cloud Blade
一、部署 Nacos
通过开源应用商店部署 ,在开源应用商店中搜索 Nacos单机
并选择安装 2.1.2
版本。
通过开源应用商店部署 Redis
,在开源应用商店中搜索 Redis
并选择安装 5.0.7
版本。
三、部署 Sentinel Dashboard
通过开源应用商店部署 Sentinel Dashboard
,在开源应用商店中搜索 Sentinel-Dashboard
并选择安装 1.8.6
版本。
- 初始化表结构和数据:
五、部署 Blade 后端服务
- 基于源码创建组件,填写以下信息:
- 检测出多模块构建,进入多模块构建页面
tip
- 创建前,在多模块构建页面 -> 右侧修改按钮 -> 修改每个模块的启动命令,如下。
- 创建后,删除每个组件的默认端口,为每个组件添加对应的新端口和端口别名并打开端口的对内服务,如下。
- 修改完成后构建组件。
- 编辑依赖关系,切换到
编排模式
拖动组件进行依赖关系建立。
- 进入
Nacos
组件内 -> 端口 -> 打开 端口的对外服务,访问 Nacos 并登录,默认用户密码nacos/nacos
,创建以下配置文件。
创建 blade.yaml 配置文件
blade.yaml
spring配置
项目模块集中配置
blade:
通用开发生产环境数据库地址(特殊情况可在对应的子工程里配置覆盖)
datasource: dev: url: jdbc:mysql://127.0.0.1:3306/blade?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8 username: root password: root ```
info
更新或重启除 Nacos
Mysql
Redis
Sentinel Dashboard
之外的所有组件。
- 基于源码创建组件,填写以下信息:
caution
- 进入
Saber
组件内 -> 端口 -> 删除默认端口,新增8080
端口并打开对外服务。 - 编辑依赖关系,切换到
编排模式
拖动组件进行依赖关系建立,将Saber
依赖blade-gateway
并更新组件。 - 使用默认域名访问
Saber UI
并登录。