共计 847 个字符,预计需要花费 3 分钟才能阅读完成。
背景:
公司外部有很多服务,如消费信贷,账户服务,领取服务等,这些服务由公司不同部门或团队保护。如果内部机构想要调用这些接口,须要与不同团队协商接口格局,加解密格局,签名验签格局等调用形式。如果公司有一个对立对外提供服务的网关,对立调用形式,服务调用方和提供方都依照这个规范进行接口调用和开发,就能够防止技术细节的反复探讨,能够专一于业务层面。
概述
对立网关基于 spring cloud gateway 开发,提供对外拜访外部服务的对立入口,调用方通过一系列断言和过滤器,路由到不同的外部利用零碎。流程图如下:
性能:
- 参数校验:调用方将 json 格局的申请参数放入 request body 中,通过 http post 形式拜访对立网关,申请参数须要遵循对立网关的规范,即蕴含机构号,银行号,api 名称,api 版本,受权 token,防重放 nounce,流水号,加密后的业务数据,验签数据等字段。如果有未传入的字段,则认为是非法申请。
- 监控:通过参数校验后,网关把申请异步放入 mq,以便对交易进行统计
- 防重放:一笔交易通过一系列过滤器能够被转发到后盾零碎,交易被拦挡后被反复发送,如果没有防重放性能,改交易始终会被转发到后盾,对业务零碎造成侵害。因而防重放可防止雷同的申请反复发送。
- token 校验:token 由机构申请,是机构身份合法性的判断起源,有效期为两个小时,须要定时更新。如果 token 有效,则认为是该机构非法
- 黑白名单:判断容许和禁止拜访的 IP
- 权限校验:判断该笔交易的机构是否具备拜访这个银行的 api 的权限
- 加解密:交易的业务数据在发送前进行加密,对立网关解密验签后发送至后盾零碎,收到后盾零碎响应后再签名加密返回至调用方
- 签名验签:加解密是为了避免数据在传输过程中被发现,签名验签是为了避免发现后数据被篡改
网关相干的工夫:
- 交易的工夫戳:由客户端本人定义
- 申请工夫:进入 gateway 的工夫
- 响应工夫:gateway 响应至客户端的工夫
另:
- gateway 发往后台的工夫
- gateway 接管后盾响应的工夫
- 告警:进入 flink 的工夫
正文完