一直请求会报超时 不请求又无法获取支付状态 如何解决这个问题

尼禄花嫁 发布于 2021/12/03 12:01
阅读 209
收藏 0
项目中对接了某小县城银行支付功能 ;他们的支付API 不支持支付结果回调, 需要我们这边主动通过他们的api去查   他们给的频率是6-15秒查询一次。 现在的问题是 大量支付的情况下  查询次数增多过一会就可能触发他们的拦截策略 导致 请求超时 继续查的话一直会报超时影响我们服务稳定性      不查又无法获取支付状态   欢迎大佬们给出解决问题的建议  
加载中
1
sprouting
sprouting

支付成功后,将订单加入到队列中,这个队列单独一个线程消费,每8秒消费一次,这样就不会触发他们的拦截策略。

这个方案有一个问题,就是如果大量支付,你这还是按照8秒消费一次,会堆积任务,但如果对方不改,你也没办法,当然,你可以通过IP池等爬虫手段伪造绕过,不过最好的方案,还是和对方沟通,加入白名单,或者提供支持成功的查询视图之类的。

不过想来,这种项目都是短时间大批量的支付,流量并发不是太高,也没太大问题

0
暴走大菠萝
暴走大菠萝

理想状态:对方有回调,搭配主动查询保证业务完整+及时

对方不支持回调,查询还不支持批量,那真的无解了 😅

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部