支付介面響應超時處理

2021-08-14 22:37:18 字數 399 閱讀 1087

問題:呼叫第三方支付介面響應時間超過10秒,導致大量線上訂單因為超時失敗,該介面是實時返回結果的,而且不是一直都慢,是偶爾慢。 

解決方法:呼叫介面時設定超時時間,當介面超過9秒未返回結果,自動將改訂單設定為處理中,然後後由定時任務呼叫查詢介面。 

這樣就把,乙個實時返回結果的介面,當成乙個非同步的介面來用了,總比一大堆失敗訂單等著財務來找好。

這類問題應該很多,在分布式中介面響應超時的問題,尤其重要。很多時候,乙個請求,會呼叫很多service服務,如果service之間是序列的話,那麼乙個service超時,很可能會引起連鎖反應,所以在呼叫別的介面的時候(不管是第三方支付介面,還是分布式介面),都需要加乙個超時時間,超過這個時間,就不在等待了,視作失敗,或者處理中,然後再後續處理。

第三方支付介面響應超時處理方法

問題 呼叫第三方支付介面響應時間超過10秒,導致大量線上訂單因為超時失敗,該介面是實時返回結果的,而且不是一直都慢,是偶爾慢。解決方法 呼叫介面時設定超時時間,當介面超過9秒未返回結果,自動將改訂單設定為處理中,然後後由定時任務呼叫查詢介面。這樣就把,乙個實時返回結果的介面,當成乙個非同步的介面來用...

針對http介面訪問超時處理

如果你參加過網際網路專案,那麼你一定知道,整個大的系統會被切成許多的子系統。子系統與子系統通過接 互。其中,通過http接 互,是非常常用的一種方式。那麼如果呼叫某個子系統的http介面超時了,該如何處理呢?下面列舉一下。假設a系統有個方法methoda,會呼叫b系統的methodb這個http介面...

訊息佇列處理微信支付超時訂單

1.配置交換機 佇列 rabbitmqconfig 延時佇列交換機 注意這裡的交換機型別 customexchange return bean public customexchange delayexchange 延時佇列 return bean public queue delayorderqu...