支付接口响应超时处理
2018-01-23 17:33
211 查看
问题:调用第三方支付接口响应时间超过10秒,导致大量线上订单因为超时失败,该接口是实时返回结果的,而且不是一直都慢,是偶尔慢。
解决方法:调用接口时设置超时时间,当接口超过9秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口。
这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单等着财务来找好。
这类问题应该很多,在分布式中接口响应超时的问题,尤其重要。很多时候,一个请求,会调用很多service服务,如果service之间是串行的话,那么一个service超时,很可能会引起连锁反应,所以在调用别的接口的时候(不管是第三方支付接口,还是分布式接口),都需要加一个超时时间,超过这个时间,就不在等待了,视作失败,或者处理中,然后再后续处理。
解决方法:调用接口时设置超时时间,当接口超过9秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口。
这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单等着财务来找好。
这类问题应该很多,在分布式中接口响应超时的问题,尤其重要。很多时候,一个请求,会调用很多service服务,如果service之间是串行的话,那么一个service超时,很可能会引起连锁反应,所以在调用别的接口的时候(不管是第三方支付接口,还是分布式接口),都需要加一个超时时间,超过这个时间,就不在等待了,视作失败,或者处理中,然后再后续处理。
相关文章推荐
- 第三方支付接口响应超时处理方法
- 20并发下支付接口存在响应时间超时问题及排查思路
- 在ASP.NET Atlas中调用Web Service——处理错误,超时以及响应用户的取消操作
- 在ASP.NET Atlas中调用Web Service——处理错误,超时以及响应用户的取消操作
- PHP处理后端&接口访问超时
- java定时器处理超时未支付订单
- java响应超时处理jdk自带方式处理
- httpclient.get|post处理(连接、响应超时)
- TAO 处理接口访问超时例程
- Java接口响应超时监控
- 调用其他系统http接口超时了,如何处理,方案汇总
- 浅谈php处理后端&接口访问超时的解决方法
- httpclient.get|post处理(连接、响应超时)
- 解决WCF接口超时无响应 最大连接数问题
- AsyncHttpClient关于失败响应和网络超时的响应的处理
- 微信验证开发者代码,解决微信请求URL超时,你的服务器没有正确响应Token验证,请阅读消息接口使用指南
- php处理调用外部接口超时
- 在ASP.NETAtlas中调用WebService—处理错误,超时以及响应用户的取消操作
- java实现网上在线支付--09,10,11,12_分析易宝支付网关的应答协议与处理代码,完成用于处理支付响应的Servlet的初步编写和调试,完成处理支付网关响应结果的Servlet,支付实现