API网关

API网关:负责将内部共享服务对外进行发布,提供第三方应用、H5网关和本行SDK(包括iOS SDK、Android SDK和JS SDK)进行调用,遵循OpenAPI3.0标准。

集成模式

模式 说明 适用场景
通过第三方应用直接调用 直接通过网关api进行服务调用,由第三方应用进行用户交互界面开发。 最为开放的模式,对于第三方应用的开发框架无依赖或干扰,集成难度最低,并且适用于第三方应用服务端进行调用。
通过JS SDK进行调用 第三方应用集成平台的JS SDK进行调用,简化第三方应用的开发。 适用于第三方应用为混编应用或者微信小程序等类似web应用,集成开放性较高,并且与开发语言无关
通过iOS、Android SDK进行调用 第三方应用集成平台的原生SDK进行调用,简化第三方应用的开发,并且安全性上得到保证 适用于第三方应用为原生开发架构的情况下进行调用,有原生应用的关系,安全性最高
通过h5网关进行调用 直接或者间接访问H5网关,将用户交互权利移交给平台,由平台来完成该项业务的流程,此调用方式能与其他调用方式相结合 适用于用户交互负责度高,并且具有较强技术和安全要求的场景之上,例如开户及绑卡流程等。

调用流程

通过第三方应用直接调用

第三方应用可以直接通过平台提供的OpenAPI进行调用,提供最终用户的操作界面等由第三方应用自行完成

sequenceDiagram 第三方应用 ->> OpenAPI网关 : 服务请求() OpenAPI网关 ->> OpenAPI网关 : 黑白名单控制() OpenAPI网关 ->> OpenAPI网关 : 服务检权认证() OpenAPI网关 ->> OpenAPI网关 : 服务流量控制() OpenAPI网关 ->> OpenAPI网关 : 服务熔断器() OpenAPI网关 ->> 共享服务 : 服务请求转发() 共享服务 -->> OpenAPI网关 : 服务应答() OpenAPI网关 -->> 第三方应用: 应答返回() OpenAPI网关 -x 商户管理服务 : 异步MQ调用流水转发()

通过JS SDK进行调用

第三方应用通过集成平台的JS SDK进行调用,简化第三方应用的开发

sequenceDiagram 第三方应用 ->> 平台JS SDK:本地函数调用 平台JS SDK ->> OpenAPI网关 : 服务请求() OpenAPI网关 ->> OpenAPI网关 : 黑白名单控制() OpenAPI网关 ->> OpenAPI网关 : 服务检权认证() OpenAPI网关 ->> OpenAPI网关 : 服务流量控制() OpenAPI网关 ->> OpenAPI网关 : 服务熔断器() OpenAPI网关 ->> 共享服务 : 服务请求转发() 共享服务 -->> OpenAPI网关 : 服务应答() OpenAPI网关 -->> 平台JS SDK: 应答返回() 平台JS SDK -->> 第三方应用: 调用返回() OpenAPI网关 -x 商户管理服务 : 异步MQ调用流水转发()

通过iOS、Android SDK进行调用

第三方应用通过集成平台原生SDK进行调用,简化第三方应用的开发

sequenceDiagram 第三方应用 ->> 原生(iOS\Android) SDK:本地函数调用 原生(iOS\Android) SDK ->> OpenAPI网关 : 服务请求() OpenAPI网关 ->> OpenAPI网关 : 黑白名单控制() OpenAPI网关 ->> OpenAPI网关 : 服务检权认证() OpenAPI网关 ->> OpenAPI网关 : 服务流量控制() OpenAPI网关 ->> OpenAPI网关 : 服务熔断器() OpenAPI网关 ->> 共享服务 : 服务请求转发() 共享服务 -->> OpenAPI网关 : 服务应答() OpenAPI网关 -->> 原生(iOS\Android) SDK: 应答返回() 原生(iOS\Android) SDK -->> 第三方应用: 调用返回() OpenAPI网关 -x 商户管理服务 : 异步MQ调用流水转发()

通过h5网关进行调用

直接或者间接通过H5网关进行调用

间接调用

sequenceDiagram 第三方应用 ->> 平台SDK(JS或原生):本地函数调用 平台SDK(JS或原生) ->> H5网关:http get请求调用,并移交webviewer权限 H5网关 ->> OpenAPI网关 : 服务请求() OpenAPI网关 ->> OpenAPI网关 : 黑白名单控制() OpenAPI网关 ->> OpenAPI网关 : 服务检权认证() OpenAPI网关 ->> OpenAPI网关 : 服务流量控制() OpenAPI网关 ->> OpenAPI网关 : 服务熔断器() OpenAPI网关 ->> 共享服务 : 服务请求转发() 共享服务 -->> OpenAPI网关 : 服务应答() OpenAPI网关 -->> H5网关: 应答返回() H5网关 -->> 第三方应用: 回调方法() OpenAPI网关 -x 商户管理服务 : 异步MQ调用流水转发()

直接调用

sequenceDiagram 第三方应用 ->> H5网关:http get请求调用,并移交webviewer权限 H5网关 ->> OpenAPI网关 : 服务请求() OpenAPI网关 ->> OpenAPI网关 : 黑白名单控制() OpenAPI网关 ->> OpenAPI网关 : 服务检权认证() OpenAPI网关 ->> OpenAPI网关 : 服务流量控制() OpenAPI网关 ->> OpenAPI网关 : 服务熔断器() OpenAPI网关 ->> 共享服务 : 服务请求转发() 共享服务 -->> OpenAPI网关 : 服务应答() OpenAPI网关 -->> H5网关: 应答返回() H5网关 -->> 第三方应用: 回调方法() OpenAPI网关 -x 商户管理服务 : 异步MQ调用流水转发()

核心功能

功能名 说明
服务发布 通过服务定义与服务路由相关功能,进行后端共享服务发布,此管理功能通过OpenAPI管理服务实现,有OpenAPI管理平台提供操作入口。
服务接入 发布遵循OpenAPI 3.0标准的RestFul服务,并支持GET和POST方式。
安全控制 实现黑白名单等辅助网络控制,并实现基于OpenAPI 3.0标准的安全控制协议。
服务鉴权 通过读取共享服务鉴权信息对于服务进行权限控制,此信息由用户管理服务进行维护并共享。
流量控制 以服务为维度,进行基于令牌桶的算法的流量控制。
服务熔断 以服务、调用方为维度,实现服务熔断机制,单位时间超过了阀值请求数,将进行熔断处理。
服务降级 以服务为维度,在后端共享不可用的情况下,模拟返回信息。
服务路由 配置按照服务关键要素进行目标服务路由,转发请求信息。
灰度发布 通过动态路由方式将部分用户引流到新服务中,以缩小测试范围及影响。
服务通知 网关服务奖收到的业务请求及信息,通过异步方式通知用户管理服务,用户管理服务将进行单一维度的数据统计和计量。

设计要点

  • 安全控制:待续

  • 服务鉴权:待续

  • 流量控制:待续

  • 服务熔断:待续

results matching ""

    No results matching ""