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

中级阶段

支付通道自动化管理的半自动化阶段持续时间是2015.10~2016.10,故障处理自动切走、手动切回,一次通道故障的详细处理流程如下:
(1) 监控检测到通道成功率异常发送报警消息给美团点评技术,同时自动将通道置为不可用;
(2) 美团收银台实时读取通道状态,将故障通道的流量全部切走;
(3) 美团点评技术立即联系银行和第三方报故障,对方确认问题和恢复情况后反馈到美团;
(4) 美团点评技术修改通道状态为可用,收银台实时读取到通道状态为正常后,将线上流量放入该通道;
(5) 如果通道恢复,则用户可以正常交易,本次故障结束;
(6) 如果通道未恢复,大量交易失败,美团点评技术或监控会再次将通道状态为不可用;
(7) 美团点评技术再次联系银行或第三方处理故障,如此往复,直到线上交易正常,本次故障结束。

主要完成的改进点

(1) 优化报警监控算法,并支持一键查看通道状态,保证支付通道故障的快速发现;
(2) 实现故障通道一键切换和自动切换,从各方面保证通道故障快速处理;
(3) 大幅降低处理支付通道故障的人力成本。

全自动化阶段 半自动化阶段存在的问题

半自动化阶段已将故障处理流程大幅简化,但此时的系统中还存在以下问题:
(1) 通道恢复依赖于银行或第三方的反馈,导致支付通道恢复延时较久;
(2) 一次通道故障涉及到的系统和人员较多,人工无法保证全面和及时的周知。

但渠道路由由于早期设计的局限性,无法实现全自动化,需要优化监控系统和渠道路由系统。

系统优化 实现监控自动回切

监控自动回切的主要思想是对故障通道进行小幅放量,通过检测放量交易的成功率判断通道是否恢复正常。如果小幅放量的交易成功率正常则继续放量,反之则直接将通道切回故障,隔一段时间再重新开始进行放量测试,直到将通道置为正常为止。自动回切状态机如下图所示:

通道状态变化状态机

此过程的关键点是通道放量节奏的控制,通道放量节奏的影响要素有三个:首次放量的大小、两次放量时间间隔、通道放量速度,放量节奏太快则易造成二次故障,太慢则通道恢复过慢,无法达到缩短故障影响时间的效果。以下是最终实现的一次通道回切过程示例:

(1) 通道放量,但放量失败

通道放量但放量失败

(2) 再次放量,如果成功则扩大放量

再次放量

再次放量

(3) 通道切回正常

通道放量但放量失败

实现通道相关系统间联动

支付通道故障时,一方面通过消息组件通知到营销活动、退款等系统,协助进行活动下线、通道退款关闭等处理,减少通道故障对其他系统的影响;另一方面以接口方式通知业务方系统,协助业务方系统进行故障分析。

渠道路由重构和优化 解决业务问题

支付通道有两种通道类型,第一种定义为“单卡通道”,只给指定银行的指定卡种使用的通道,比如“中国银行储蓄卡快捷通道”就只能给输入了中国银行储蓄卡卡号的请求使用;第二种定义为“跨卡通道”,能给多个银行的指定卡种使用的通道,比如“银联API储蓄卡”就可以给“中国银行储蓄卡”、“中国建设银行储蓄卡”等多个银行的储蓄卡账号使用。

(1) 处理“跨卡通道”上某家银行故障的情况

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

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