commit | f56d09a9d284c629550e8aa8768c763d5d4dbdad | [log] [tgz] |
---|---|---|
author | 刘洪青 <hongqing.liu@supwisdom.com> | 周五 5月 01 19:47:13 2020 +0800 |
committer | 刘洪青 <hongqing.liu@supwisdom.com> | 周五 5月 01 19:47:13 2020 +0800 |
tree | 1dbd7323996957f3de358d82a00371ff1f4bd47f | |
parent | 0ca943bc056104077e397619e6b624d24ba62ce5 [diff] |
chore: 修正 pom 打包异常
doc 文档 common 公共类库 gateway 网关,提供前端的认证、接口路由、访问控制,并将认证的用户信息传递到后端接口、服务接口。 admin-bff/bff 后端项目,提供后端接口,将服务接口做封装后暴露给前端使用。 面向不同的前端,可以创建多个 bff admin-sa/sa 管理功能微服务项目,提供服务接口,将业务类库(基础功能)包装成微服务。 可以考虑将多个业务类库合并为一个 sa,也可以每个业务类库对应一个 sa 业务类库之间存在依赖请求的情况: 当考虑合并为一个 sa 时,则可以直接通过类库依赖的方式(即 领域层 相互依赖) 当纯粹微服务化,即多个 sa 时,须使用 Feign Client 进行远程调用,不可以使用类库依赖 admin-sa/base 业务类库,基础功能,领域层、接口层的实现 biz-sa/sa 业务示例微服务项目,提供服务接口,将业务类库(业务示例)包装成微服务。 biz-sa/biz 业务类库,业务示例,领域层、接口层的实现
网关层
完成用户认证、访问控制、访问日志
提供请求转发功能,基于spring cloud gateway,将前端请求 带上 当前登录的用户信息后,转发到 后端接口、或服务接口(建议,避免使用)
BFF Backend for Frontend,用户体验适配层
面向UI,可以为不同终端提供合适的接口,可以避免因UI变更导致频繁地修改 服务接口
对服务接口可以进行聚合、裁剪、适配
对接外部第三方服务、接口
服务层
微服务,业务领域实现,提供无状态的服务接口
完成通用的业务,尽量可以支持业务重用
通过 RESTful API 对外暴露接口
以下 开发技术,自行了解
代码库管理
项目构建
自动化构建
交付产物
部署环境
服务接口文档,接口测试
项目搭建
处理数据持久化操作,ORM
服务接口(sa)、后端接口(bff),采用 Spring MVC 的 @RestController 构建 RESTful API
后端接口(bff),由于使用了 Spring Cloud Gateway,故 必须采用 Spring WebFlux
对后端聚合接口进行安全认证、访问控制
目前支持,Basic 认证、JWT 认证,以及 对接CAS 认证
后端接口(bff),通过 Spring Cloud Gateway,将前端的请求透传到 后端服务接口(sa),透传过程中,会将认证登录的用户信息 通过 请求头 Header(X-FORWARD-USER) 传递到 后端服务接口,后端服务接口 根据实际需要 使用用户信息 完成业务实现
后端接口(bff),若一个接口需要由后端服务的多个接口完成,可以通过 FeignClient 请求,随后在 service 层 进行逻辑处理
开发规范,主要了解下接口请求、响应相关的规范
详见:开发规范
详见:使用说明