美团Java团队分享:如何实践支付通道自动化管理

随着支付业务量激增,支付团队不断壮大。为了满足日益增长的业务需求,大量的支付通道逐渐接入,但由于对接的各银行和第三方系统的稳定性参差不齐,支付通道故障时有发生,作为承接上下游的核心系统,要在一系列不稳定的系统之上建立一个可以给上游提供稳定服务的系统,仅依赖人工维护是远远不够的,所以建立一个完善的支付通道自动化管理系统势在必行。本文主要介绍美团点评技术团队支付通道自动化管理的演进之路。

初级阶段

监控系统初级阶段

初级阶段

故障处理流程图如下:

故障处理流程图

支付通道自动化管理的初级阶段持续时间是2014.06~2015.09,故障处理手动切走、手动切回,一次支付通道故障的详细处理流程如下:
(1) 支付网关监控检测到支付通道成功率异常,发送报警消息到美团点评技术;
(2) 美团点评技术立即查看监控页面确认故障,并登陆到渠道路由配置页面去修改对应支付通道的状态,将通道置为不可用;
(3) 收银台实时读取支付通道状态,将故障通道的流量全部切走;
(4) 美团点评技术联系银行或第三方报故障,对方去查看问题,确认恢复后通知美团点评技术;
(5) 美团点评技术修改支付通道状态为可用,收银台实时读取到该支付通道,将线上流量导入;
(6) 如果支付通道恢复,则用户可以正常交易,本次故障结束;
(7) 如果支付通道未恢复,大量交易失败,美团点评技术需要将该通道重新置为不可用,再次去联系银行或第三方处理,如此往复,直到该通道的所有交易正常,本次故障结束。

半自动化阶段 初级阶段存在的问题

初级阶段系统的主要目标是扩大支付通道的覆盖范围,提高用户支付成功的概率。随着支付通道的不断接入,由于公网环境、银行或第三方系统的不稳定性,导致故障频率升高,故障时间延长。而此时处于初级阶段的监控系统已无法有效保证通道的稳定性:
(1) 支付网关监控报警漏报率较高,小流量通道故障无法及时发现;
(2) 支付通道切换都是人来手动处理,一方面技术的工作量严重增加,另一方面无法保证在处理故障过程中没有任何误操作;
(3) 故障解决花费的时间较长,故障对用户造成的影响就更大,同时用户的不断重试对支付系统本身也造成很大的压力;
(4) 故障通道尝试恢复时,只能全部打开用线上真实交易来检测,可能会因为通道尚未恢复,造成二次故障,扩大影响范围。

系统优化 优化监控系统

(1) 优化监控算法:优化监控算法,将报警的准确度提高到95%,基本做到无误报、无漏报;
(2) 新增自动置通道为不可用功能:监控检测到支付通道故障时,一方面发送报警消息给技术人员,另一方面调用渠道路由的接口将支付通道置为不可用,实现支付通道故障的快速降级。

此时的监控系统如下图所示:

中级阶段

渠道路由支持实时通道变更

在初级系统中,渠道路由的主要功能是提供通过页面修改支付通道配置来实现人为管理支付通道的功能。随着监控系统的完善,监控准确度和灵敏度提升,此时监控系统已经具备支付通道管理的决策力,需要渠道路由提供一个可以实时更新支付通道状态的接口,以实现支付通道的自动化管理。而作为自动通道切换的补偿机制,渠道路由还实现了基于移动App人工一键切换的功能,尽最大可能保证故障的快速解决。

渠道路由提供的接口除了具备实时通道状态变更功能以外,还需要进行了以下几个方面的控制:
(1) 一键切换功能,必须控制访问权限;
(2) 具有事务控制和时效性控制,无论是自动还是一键切换,一次故障必须能且只能切走通道流量一次;
(3) 必须保证通道状态变化可以通过各种途径通知到相关的技术人员。

故障处理流程图

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjwzy.html