补偿:
调下游异常:kill掉被调系统的服务,上游发起交易请求;
调下游超时:改变被调用接口信息;
下游未回调、回调超时、回调异常:
1、请RD帮忙注释回调的代码;
2、模拟下游未回调:
a、完成一笔回调成功,上游也消费成功的交易
b、更改上游系统数据库状态为需要的状态(成功失败or处理中)
c、根据业务场景,决定是从上游手动重发交易触发补偿还是等待系统自动定时补偿
d、将下游系统配置文件里地址改为错误的
3、模拟下游未落单:
a、完成一笔正常交易
b、删除(没有删除权限就修改单号)下游订单、流水及记账信息
c、更改上游订单状态及记账
d、据业务场景,决定是从上游手动重发交易触发补偿还是等待系统自动定时补偿,或者通过curl的方式触发补偿。
e、将下游系统的防火墙打开
f、将下游系统调用时间改短一些
上游更新数据库失败或连接数据库超时:
1、请RD帮忙更改代码,数据库更新的部分写错逻辑;
2、模拟数据库更新失败或为进行更新:
a、成功完成一笔交易
b、不改动下游的内容,将上游数据库信息进行更改(包括订单表、流水表及账务信息)
c、根据业务场景,决定是从上游手动重发交易触发补偿还是等待系统自动定时补偿,或者通过curl的方式触发补偿。
d、在检索记录的时间里改配置文件里的数据库地址
对成功的订单进行curl补偿
回调:
回调正常:
正常回调测试,包括下游处理中、下游成功、下游失败等情况的回调。
回调异常:
a、请RD帮忙将回调的地址改为错误的
b、不配置MQ或配置错误的MQ-TOPIC
c、回调先于同步通知
d、通过curl的方式模拟回调
幂等:
并发
并发情况下的MQ重复消费;
已成功的订单进行重发交易
已经预下单的订单进行重发交易,根据不同场景分析是可以继续支付还是堵重(例如:交易引擎系统的处理是可以在原单基础上进行支付,pgw的处理是下单失败)
如果是重发短信,需要关注1分钟内的次数限制
定时任务:
定时任务关闭,关注是否跑定时;
定时任务的配置(是否可以手动触发);
定时任务开启,定时任务是否生效并关注定时周期;
对账跑批的定时任务关注时间设定;
手动改数据库状态后跑task;