第三方支付接口响应超时处理方法【杭州多测师】【杭州多测师_王sir】

问题:调用第三方支付接口响应时间超过10秒,导致大量线上订单因为超时失败,该接口是实时返回结果的,而且不是一直都慢,是偶尔慢,对于接口超时怎么处理和测试?
解决方法:调用接口时设置超时时间,当接口超过9秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口,这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单出现会更加的好
尤其是在分布式中接口响应超时的问题,尤其重要。很多时候,一个请求,会调用很多service服务,如果service之间是串行的话,那么一个service超时,很可能会引起连锁反应,所以在调用别的接口的时候(不管是第三方支付接口,还是分布式接口),都需要加一个超时时间,超过这个时间,就不在等待了,当做失败,或者处理中,然后再后续处理。

处理方式:
1、第一次请求第三方,出现第三方超时异常。设置重复请求为三次。
2、首先用原先的订单号,查询订单交易结果。
3、交易成功,返回交易成功。
4、交易失败,返回交易失败。
5、未存在该交易,则进行重复请求,以此类推三次。
6、超过三次,返回交易失败
代码实现:
1、使用线程安全类型:AtomicInteger
2、使用线程保存计数器的值:ThreadLocal

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值