网关基础功能
写在前面
对于不一样的应用场景,核心诉求是有区别的,对于功能选择的侧重点也是有所不同,本教程以学习为主,会规划一个大而全的功能。 同时会根据行业通用的一些准则规范进行核心功能、重要功能、提效功能等划分。
核心功能(P0)
所谓核心功能, 我们按照如下标准定义:
- 九成以上业务都需要此能力
- 对于能力异常的容忍度极低
- 当前能力出现问题, 会导致网关本身无法按预期执行
功能 | 描述 | 优先级 |
---|---|---|
动态路由 | 动态上线、下线路由接口,并实时生效 | P0 |
参数验证 | 验证网关接口参数的合法性、枚举值范围等 | P1 |
请求重写 | 将网关的请求按规则重写并请求后端接口 | P0 |
请求处理 | 对后端服务进行真实的http响应 | P0 |
响应重写 | 将后端接口的响应按规则重写,并通过网关输出 | P0 |
重要功能(P1)
所谓重要功能, 我们按照如下标准定义:
- 该功能执行后, 会对网关核心能力产生影响
功能 | 描述 | 优先级 |
---|---|---|
项目管理 | 需要通关网关接管流量的项目,需要注册到网关,有网关进行管理 | PO |
项目接口管理 | 需要通关网关接管流量的项目接口,需要注册到网关,有网关进行管理 | PO |
项目接口参数管理 | 需要通关网关接管流量的项目接口,需要在网关配置其输入的参数 | PO |
项目接口返回值管理 | 需要通关网关接管流量的项目接口,需要在网关配置其输入的返回值 | PO |
网关接口管理 | 网关对外暴露的接口, 外部直接可见 | P0 |
网关接口参数管理 | 网关对外暴露的接口需要的参数, 外部直接可见 | P0 |
网关接口参数验证规则 | 网关对外暴露的接口需要的参数验证规则 | P1 |
网关接口返回值管理 | 网关对外暴露的接口输出的返回值, 外部直接可见 | P0 |
提效功能(P2)
所谓重要功能, 我们按照如下标准定义:
- 和提效功能交互,间接影响核心功能
- 简化对重要功能、核心功能的管理
- 对外直观阐述与呈现
功能 | 描述 | 优先级 |
---|---|---|
管理后台 | 通过重要功能暴漏出来的管理API,对数据进行管理 | P0 |
接口文档 | 基于网关接口的配置,动态生成swagger接口文档 | P0 |
项目接口导入 | 基于项目接口的swagger文档, 动态注册项目接口 | P1 |
服务安全(P2)
关于服务安全,包含如下几个方面:
- 访问安全 : 对恶意请求的主动拦截
- 接口权限安全 : 有且仅有对已授权API的访问权限
- 数据权限安全: 仅可访问已授权的返回值
- 数据脱敏 : 对敏感数据脱敏输出(如 : 身份证、手机号、邮箱等)
功能 | 描述 | 优先级 |
---|---|---|
访问安全 | 恶意请求拦截、黑白名单等 | P2 |
接口权限安全 | 有且仅有对已授权API的访问权限 | P0 |
数据权限安全 | 仅可访问已授权的返回值 | P0 |
数据脱敏 | 对敏感数据脱敏输出(如 : 身份证、手机号、邮箱等) | P0 |