java第三方接口对接_调用多个第三方接口哪一种方案更好?
目的
用戶在下單的時候,會調用我們的后臺服務器,我們的后臺服務器又會根據不同渠道調用第三方下單接口,完成整個下單流程,但是第三方下單接口可能突然出問題或者不支持,所以目前我們每一種渠道都配置了好幾種備用的下單接口,盡可能提高用戶下單成功率。
問題
想選擇一種更好的方案,來實現同樣的效果。
方案
例如: 下單時type = 1 ,后臺支持該類型的第三方下單接口有A,B,C??赡蹵,B,C會突然出問題,或者不支持,或者不穩定等問題。
每次下單輪詢A,B,C 3個接口,直到成功為止,此時記錄下失敗的渠道 ,例如A,當A最近M分鐘的失敗次數大于N次,則下次下單的時候,只用輪詢B,C接口。當最近X分鐘內失敗的渠道A又開始成功了并且成功次數大于X次,則下單的時候又可以輪詢A,B,C,其中A,B,C輪詢次數按照優先級排序。
分析:每次都要輪詢,但可以保證例如 X= 2 A失敗了2次,此時我可以輪詢到B去下單,而不會直接失敗。
每次下單前直接確定一個接口A或者B或者C,根據優先級最高且最近M分鐘內失敗次數沒有超過N次的。
分析:如果N為10次,那么第11次的時候,才會選擇一個合適的渠道,例如B。之所以是N次才剔除掉,是因為避免偶然失敗情況。
有沒更好的方式,解決多渠道(就類似上面可用的下單接口用A,B,C)下單的問題,盡可能提高下單的成功率,盡可能嘗試更多的機會,盡可能讓用戶成功支付,盡可能預知第三方接口的問題(接口改變、服務器掛了、處理慢、業務類型不支持了等問題)
求大神分享經驗。。。
========================================update 2016-7-7============================
需要同步返回給前端是否成功
第三方暫時沒提供 比如某個業務類型不支持的錯誤碼
其實大家的回答已經比較接近實際場景了~
感謝~
總結
以上是生活随笔為你收集整理的java第三方接口对接_调用多个第三方接口哪一种方案更好?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java程序设计 第2版 唐大仕_《Ja
- 下一篇: java长宽_Java:如何控制JPan