本文主要是介绍蚂蚁国际环境下的超网详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 超网是什么
超网就是国际域内各业务线与外部通信时的网关。对于AC来说,无论是接收来自站点的请求,还是发送请求到站点,都需要经过超网。超网一般使用HTTP协议与站点进行通信,在通信过程中会对发送或接收到的请求或响应进行加签或验签、报文字段映射、错误码映射等处理。
2. 超网的功能及处理过程
超网主要实现三个功能:通信+路由转发+加验签
连接对象:国际域内各业务线与外部(收单或发卡)通信
处理过程:使用HTTP协议与站点进行通信,在通信过程中会对发送或接收到的请求或响应进行加签或验签、报文字段映射、错误码映射等处理。
站点请求AC时:
ⅰ. 站点发送HTTP请求至超网
ⅱ. 超网转换为TR调用至GN
ⅲ. GN给超网返回TR调用结果
ⅳ. 超网返回HTTP响应至站点
AC请求站点时:
ⅰ. GN发起TR调用超网
ⅱ. 超网转换为HTTP请求发送至站点
ⅲ. 站点返回HTTP响应至超网
ⅳ. 超网给GN返回TR调用结果
3. 新老超网模型
3.1 老超网
模型:
相关定义:
• outTransCode:接收点或者发送点(或称通信点)
• transType:将两个outTransCode连接起来的通道,两点对应唯一一条通道
• channelSystem:渠道(可以是某个站点,也可以是ipay某个业务线)
从图中可以看出,渠道和通信点之间一对多,复杂度过高
将两个通信点之间放大:
老超网使用两个名为parser和assemble的脚本进行报文解析
• Parser:用来将外部发给超网的报文解析为通用报文对象(写法虽不难,但过于冗长,且无法复用)
• assemble:用来将通用报文对象组装对外报文(写法困难,不常用)
老超网问题:
• 脚本过于冗长(一条sql里放置近千行脚本语句)且无法复用;
• 自由度过高,中台失去管控。
3.2 新超网
模型:
相关定义:
• 接口开放:对应为老超网的transType
• 接口实例:接口定义+通信点
• 接口定义模型取代了老超网parser与assemble脚本的作用,使超网可以出入报文进行管控
解决方案:
• 新路由规则(补偿规则)以clientId(integrationId)、function、version为主键,保证了所有规则互不冲突,配置新规则一定不会影响到老规则,有效解决只能串行配置路由规则影响项目并发联调的问题。
• iopengw会先根据老的路由规则决策路由地址,若没有老的路由规则,则会使用新路由规则进行决策
• 目前仅使用补偿规则即可满足业务线的需求,保留路由规则为将来可能出现的特殊需求提供灵活度。
特别注意:
• GN新标准接口已全部使用补偿规则进行路由,若再配置路由规则,则会导致补偿规则失效。所以后续GN的新标准接口禁止配置路由规则,全部使用补偿规则进行配置,具体配置方法可参考:https://yuque.antfin-inc.com/docs/share/13b6714d-8bbe-4baf-a8e2-ac60aaf63936?#。
这篇关于蚂蚁国际环境下的超网详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!