精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一份詳盡的支付平臺高可用架構設計實踐

開發 架構 開發工具
我在前一家公司的第一個任務是開發統一支付平臺,由于公司的業務需求,需要接入多個第三方支付。

我在前一家公司的***個任務是開發統一支付平臺,由于公司的業務需求,需要接入多個第三方支付。

[[269157]]

圖片來自包圖網

之前公司的支付都是散落在各個項目中,極其不利于支付的管理,于是聚合三方支付,統一支付平臺的任務就落在我手上。

可以說是完全從 0 開始設計,經過一番實戰總結,我得出了一些架構設計上的思考。

之前就一直很想把自己的架構設計思路寫出來,但一直沒動手,前幾天在技術群里有人問到相關問題,我覺得有必要把它寫出來,以幫助到更多需要開發支付平臺的開發人員。

組件模式

由于公司業務在很多地區都有,需要提供多種支付途徑,以滿足業務的發展,所以設計的支付平臺需要接入多種第三方支付渠道,如:微信支付、支付寶支付、PayPal、IPayLinks 等等。

我們都知道,每個第三方支付,都有自己的一套對外 API,官方都有一套 SDK 來實現這些 API,我們應該如何組織這些 API 呢?

由于第三方支付渠道會隨著業務的發展變動,所以組織這些 SDK 就需要在不影響支付平臺整體架構的前提下可靈活插拔。

這里我使用了組件的思想,將支付 API 拆分成各種組件支付組件、退款組件、訂單組件、賬單組件等等。

那么這樣就可以當引入一個第三方支付 SDK 時,可靈活在組件上面添加需要的 API,架構設計如下:

通過 Builder 模式根據請求參數構建對應的組件對象,將組件與外部分離,隱藏組件構建的實現。組件模式+Builder 模式使得支付平臺具備了高擴展性。

多賬戶體系

在接入各種第三方支付平臺時,我們又遇到一個賬戶的問題,原因是公司當時的小程序與 App 使用的是不同的微信賬號,因此會出現微信支付會對應到多個賬戶的問題。

而我設計支付平臺時,沒有考慮到這個問題,當時第三方支付只對應了一個賬戶,而且不同的第三方支付的賬戶之間相互獨立且不統一。

于是我引入了多賬戶體系,多賬戶體系最重要的一個核心概念是以賬戶為粒度,接入多個第三方支付,統一賬戶的參數,構建了統一的支付賬戶體系。

支付平臺無需關心不同支付之間的賬戶差異以及第三方支付是否有多少個賬戶。

此時我在支付平臺架構圖加上賬戶層:

前端只需要傳遞 AccountId,支付平臺就可以根據 AccountId 查詢出對應的支付賬戶。

然后通過 Builder 模式構建支付賬戶對應的組件對象,完全屏蔽不同支付之間的差異。

在多賬戶體系里面,可以支持***多個支付賬戶,完全滿足了公司業務的發展需求。

統一回調與異步分發處理

做過支付開發的同學都知道,目前的第三方支付都有一個特點,就是支付/退款成功后,會有一個支付/退款回調的功能,目的是為了讓商戶平臺自行校驗該筆訂單是否合法。

比如:防止在支付時,客戶端惡意篡改金額等參數,那么此時支付成功后,訂單會處于支付中狀態,需要等待第三方支付的回調。

如果此時收到了回調,在校驗時發現訂單的金額與支付的金額不對,然后將訂單改成支付失敗,以防止資金損失。

回調的思想是保證最終的一致性,所以我們調起支付時,并不需要在此時校驗參數的正確性,只需要在回調時校驗即可。

講完了回調的目的,那么我們如何來設計支付平臺的回調呢?由于支付平臺接入了多個第三方支付,如果此時每個第三方支付設置一個回調地址,那么將會出現多個回調地址。

由于回調的 API 必須是暴露出去才能接受第三方的回調請求,所以就會有安全問題。

我們必須在 API 外層設置安全過濾,不然很容易出現一些非法訪問暴力破解,所以我們需要統一回調 API,統一做安全校驗,之后再進行一層分發。

分發的機制我這里建議用 RocketMQ 來處理,可能有人會問,如果用 RocketMQ 來做分發處理,此時怎么實時返回校驗結果到第三方支付呢?

這個問題也是我當時一直頭疼的問題,以下是我對回調設計的一些思考:

①公司的系統是基于 Spring Cloud 微服務架構,微服務之間通過 HTTP 通信,當時有很多個微服務接入了我的支付平臺,如果用 HTTP 作分發,可以保證消息返回的實時性。

但也會出現一個問題,由于網絡不穩定,就會出現請求失敗或超時的問題,接口的穩定性得不到保障。

②由于第三方支付如果收到 False 響應,就在接下來一段時間內再次發起回調請求。

這么做的目的是為了保證回調的成功率,對于第三方支付來說,這沒毛病,但對于商戶支付平臺來說,也許就是一個比較坑爹的設計。

你想一下,假設有一筆訂單在支付時惡意篡改了金額,回調校驗失敗,返回 False 到第三方支付,此時第三方支付會再重復發送回調,無論發送多少次回調,都會校驗失敗。

這就額外增加了不必要的交互,當然這里也可以用冪等作處理,以下是微信支付回調的應用場景說明:

基于以上兩點思考,我認為返回 False 到第三方支付是沒必要的,為了系統的健壯性,我采用了消息隊列來做異步分發,支付平臺收到回調請求后直接返回 True。

這時你可能會提出一個疑問,如果此時校驗失敗了,但此時返回 true,會不會出現問題?

首先,校驗失敗情況,訂單必定是處于支付失敗的狀態,此時返回 True 的目的是為了減少與第三方支付不必要的遠程交互。

因為 RocketMQ 的消息是持久化到磁盤的,所以用消息隊列來做異步分發***的好處,就是可以復查消息隊列里面的消息來排查問題,而且消息隊列可以在業務的高峰期進行流量削峰。

以下是統一回調與分發處理的架構設計圖:

聚合支付

支付平臺聚合了多種第三方支付,因此在請求層需要做很多的適配工作,以滿足多種支付的需求。

可能你會想,直接在適配那里加幾行 if else 不就得了嗎,這么做也沒問題,也可以滿足多種支付的需求,但你有沒有想過,假設此時再加一個第三方支付,你會怎么做?

你只能在原有方法上加多個 else 條件,這樣就會導致請求層代碼不斷地隨著業務發展改變,使得代碼極其不優雅,而且也不好維護。

這時我們就得用上策略模式,將這些 if else 代碼消除,當我們增加一個第三方支付時,我們只需要新建一個 Strategy 類就可以了,策略模式究竟怎么使用可以看看大話設計模式。

因此我在 Builder 模式前加多了一層支付策略層:

請求處理

由于支付平臺涉及到資金,支付的各種請求與返回,以及異常記錄在一個支付平臺中異常重要,因此我們需要記錄每一次的支付請求記錄,以便后續排查問題。

基于這點需求,我在開始請求第三方支付之前,設計了一層 Handler 層,所有的請求都必須經過 Handler 層進行處理,Handler 核心方法如下:

  1. public K handle(T t) { 
  2.   K k; 
  3.   try { 
  4.     before(t); 
  5.     k = execute(t); 
  6.     after(k); 
  7.   } catch (Exception e) { 
  8.     exception(t, e); 
  9.   } 
  10.   return k; 
  11. protected abstract void before(T t); 
  12. protected abstract void after(K k); 
  13. protected abstract void exception(T t, Exception exception); 

原則上來說,我設計的 Handler 層,利用了模版模式,不僅僅可以實現日志的記錄,還可以實現多種處理方式,比如請求監控,消息推送等等,實現了 Handler 層的高擴展性。

以下是 Handler 層的架構設計圖:

寫在***

以上就是我的支付平臺架構設計思路,總結來說,支付平臺需要具備可擴展性、穩定性、高可用性。

因此我在設計支付平臺時使用了很多設計模式以及引入消息隊列處理回調分發的問題,使得支付平臺具備這幾點特性。

希望能夠給你一些啟發與幫助,***我把支付平臺整體的架構設計圖貼出來:

 

責任編輯:武曉燕 來源: 后端進階
相關推薦

2020-07-14 15:10:21

Redis架構代碼

2019-06-13 18:50:47

支付平臺架構設計

2021-03-09 20:52:01

架構無狀態服務

2020-04-22 14:25:48

云開發高可用架構

2020-07-10 08:50:37

大數據銀行技術

2021-04-28 08:52:22

高并發架構設高并發系統

2025-03-03 04:20:00

高可用架構冗余法則

2015-12-16 11:27:52

Google高可用架構

2015-09-21 15:00:54

聯想OpenStack企業云平臺

2021-02-24 10:05:07

架構運維技術

2017-09-13 13:42:09

微服務緩存架構

2019-12-24 09:30:59

蘇寧高可用高并發

2017-10-10 15:20:10

架構數據存儲PB級數據

2021-06-24 08:30:08

架構億級消息中心數據

2017-10-27 14:52:31

互聯網高可用架構高可用

2023-03-27 08:05:27

數字化轉型MLOps

2016-03-25 09:57:09

統一監控報警平臺運維

2009-06-22 14:48:21

DRY架構設計

2017-05-19 15:00:05

session架構web-server

2018-05-16 09:00:00

物聯網物聯網平臺IoT
點贊
收藏

51CTO技術棧公眾號

午夜精品无码一区二区三区| 美国黄色特级片| 韩国精品一区| 国产色综合一区| 亚洲va欧美va国产综合久久| 亚洲精品在线观看av| av一区二区在线观看| 91精品国产日韩91久久久久久| 欧美在线一区视频| av在线天堂| av欧美精品.com| 成人黄色生活片| 麻豆成人免费视频| 国产综合精品| 日韩在线观看免费高清| 一起草在线视频| 国产精品久久久久久久久久久久久久久| 午夜视频一区二区| 黄色网络在线观看| 国内精品在线视频| 不卡的av在线播放| 成人精品视频在线| 中文字幕天堂在线| 亚洲美女黄色| 久久国产精品久久久久| 亚洲欧美va天堂人熟伦| 超碰在线亚洲| 欧美一区二区三区免费观看视频 | 丰满岳乱妇一区二区| 国产亚洲精彩久久| 一本到高清视频免费精品| 18禁裸男晨勃露j毛免费观看| 超碰97在线免费观看| 91亚洲精华国产精华精华液| 成人女保姆的销魂服务| 中文字幕免费视频观看| 亚洲一区二区网站| 国内揄拍国内精品| 久久久综合久久| 中文av一区| 久久在线视频在线| 亚洲波多野结衣| 999久久久精品国产| 一本一本久久a久久精品综合小说| 玖草视频在线观看| 国产精品香蕉| 欧美精品一区二区三区视频 | 99久免费精品视频在线观看| www.av一区视频| 99在线无码精品入口| 国产在线播放一区二区三区| 91精品国产综合久久香蕉的用户体验 | 精品久久久久久久久国产字幕| 亚洲国产一二三精品无码| 黄色国产网站在线播放| 亚洲视频免费看| 国产免费一区二区三区四在线播放| 麻豆传媒视频在线观看| 最新不卡av在线| 一级特黄妇女高潮| 欧美伦理免费在线| 性做久久久久久免费观看欧美| 免费看欧美黑人毛片| h片视频在线观看| 精品久久中文字幕| 国产成人av影视| 六九午夜精品视频| 欧美一区二区三区小说| 91精品人妻一区二区三区蜜桃2| 伊色综合久久之综合久久| 精品999在线播放| 一女三黑人理论片在线| 久久不见久久见中文字幕免费| 亚洲三级av在线| 日本伦理一区二区三区| 91成人免费| 久久久久久噜噜噜久久久精品| 国产成人无码精品亚洲| 日韩电影免费在线看| 国产综合久久久久| 欧美少妇bbw| 国产人妖乱国产精品人妖| 中文字幕日韩精品一区二区| 青青青草视频在线| 欧美日韩亚洲激情| 欧美女同在线观看| 亚洲综合影院| 亚洲日本欧美中文幕| 永久久久久久久| 亚洲日本久久| 国产欧美日韩综合精品| www.久久成人| 国产欧美一区二区精品性| 久久久久亚洲av无码专区喷水| heyzo一区| 欧美日韩精品一区二区在线播放| 韩国三级hd中文字幕有哪些| 国产精品亚洲人成在99www| 久久精品久久精品亚洲人| 日韩成年人视频| 美女爽到高潮91| 国产视频99| 男人和女人做事情在线视频网站免费观看 | 欧美xo影院| 日韩一区二区免费视频| 久久久久久亚洲中文字幕无码| 911精品美国片911久久久| 2019中文字幕在线免费观看| 91麻豆国产视频| 久久久亚洲午夜电影| 日韩成人午夜影院| 青青热久免费精品视频在线18| 欧美一区二区三区四区视频| 六月婷婷七月丁香| 亚洲午夜一区| 91色精品视频在线| 丁香在线视频| 欧美日韩一二三四五区| 被黑人猛躁10次高潮视频| 国产探花在线精品一区二区| 久久久噜噜噜久久中文字免| 91亚洲国产成人久久精品麻豆| 久久久久免费观看| 亚洲熟妇国产熟妇肥婆| 榴莲视频成人app| 日韩在线播放一区| 中文字幕一区二区三区四区视频| 91看片淫黄大片一级在线观看| 成人在线观看毛片| 国产一区二区三区国产精品| 伊人久久久久久久久久久| 国偷自拍第113页| 成人av在线资源| 成人av在线不卡| 国产欧美日韩电影| 久久精品91久久香蕉加勒比| 日本视频www色| 国产午夜亚洲精品理论片色戒| 怡红院av亚洲一区二区三区h| 一区二区精彩视频| 欧美激情国产精品| 不卡的日韩av| 亚洲国产日韩一级| 国产高潮失禁喷水爽到抽搐 | 欧美床上激情在线观看| 国产精品久久久久久免费免熟 | 一级黄色av片| 国产午夜精品福利| 国产精品久久久久9999小说| 国产亚洲一区| 国产精品久久久久999| 福利在线视频导航| 欧美日韩精品综合在线| 国产又色又爽又高潮免费| 久久91精品久久久久久秒播| 国产精品亚洲天堂| 亚洲欧美日本国产| 亚洲91精品在线| 国产在线中文字幕| 精品视频一区 二区 三区| 91香蕉视频污在线观看| 国产乱码一区二区三区| 成人精品视频在线播放| 午夜精品福利影院| 国产精品自拍网| a免费在线观看| 亚洲二区在线播放视频| 黑人精品无码一区二区三区AV| 久久久.com| 一级黄色片在线免费观看| 欧美人与禽猛交乱配视频| 精品亚洲第一| 色综合视频一区二区三区44| 欧美刺激性大交免费视频| 天天干天天色天天| 亚洲超碰精品一区二区| 波多野结衣办公室33分钟| 老司机免费视频一区二区三区| 欧美 国产 精品| 羞羞色国产精品网站| 国产精品视频久久| 爱情岛亚洲播放路线| 亚洲美女在线视频| 国产裸体永久免费无遮挡| 亚洲国产乱码最新视频 | 免费欧美一区| 91精品啪aⅴ在线观看国产| 国产理论在线| 精品国产一区二区三区久久久| 成人久久久精品国产乱码一区二区| 欧美小视频在线观看| 国产免费一区二区三区四区| 成人sese在线| 777一区二区| 国产精品腿扒开做爽爽爽挤奶网站| 伊人久久大香线蕉精品| 欧美高清视频看片在线观看| 成人亚洲激情网| 中文在线免费视频| 一区二区三区久久精品| 一区二区三区亚洲视频| 疯狂做受xxxx高潮欧美日本| 国产高潮流白浆| 国产亚洲欧美激情| 亚洲一区二区三区四区五区六区| 久久国产精品第一页| 国产l精品国产亚洲区久久| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 7777精品伊人久久久大香线蕉 | 日韩国产欧美视频| 欧美亚洲黄色片| 91精品国偷自产在线电影 | 触手亚洲一区二区三区| 亚洲国产精品成人精品| 国产精品无码AV| 欧洲视频一区二区| 狠狠人妻久久久久久综合| 亚洲综合成人在线视频| 五月天免费网站| 国产丝袜欧美中文另类| 一本色道综合久久欧美日韩精品| 国产成人综合网站| 色91精品久久久久久久久| 久久一区亚洲| 国产免费毛卡片| 亚洲黄页一区| 久久久久福利视频| 影音先锋日韩在线| 在线播放 亚洲| 日韩国产一区二区| 五月天亚洲综合情| av资源久久| 欧洲在线视频一区| 国产在线日韩精品| 日韩欧美电影一区二区| 国产欧美日韩在线一区二区| 免费一区二区三区在在线视频| 精品国产影院| 久久一区二区三区av| 欧美亚视频在线中文字幕免费| 国产精品国产精品| 99国产精品久久一区二区三区| 91精品国产一区二区三区动漫| 国产精品国产三级在线观看| 91中文在线视频| 欧美1区2区3| 不卡一卡2卡3卡4卡精品在| 日韩精品三级| 国产精品久久久久久久久久久久冷 | 一本综合精品| 国产 福利 在线| 美女视频一区免费观看| 久久精品视频91| 蜜臀久久99精品久久久久宅男| 欧美婷婷精品激情| 韩国视频一区二区| 性高潮久久久久久| av电影天堂一区二区在线观看| 玖玖爱在线精品视频| 91香蕉视频污在线| 中国女人特级毛片| 中文字幕一区二区在线观看| 朝桐光av在线| 午夜影院在线观看欧美| 免费av网站在线| 欧美日韩一本到| 国产chinasex对白videos麻豆| 欧美成人激情免费网| 香蕉久久国产av一区二区| 国产亚洲精品久久久| 免费a级在线播放| 久久人人爽人人爽人人片av高请 | 爱草tv视频在线观看992| 欧美最顶级丰满的aⅴ艳星| 亚洲成人av观看| 91视频网页| 久久99性xxx老妇胖精品| 正在播放国产精品| 亚洲高清不卡| 黄色免费网址大全| 国产不卡高清在线观看视频| 中文字幕精品视频在线| 中文在线一区二区 | 国产高清一区在线观看| www.亚洲成人| 九色porny丨入口在线| 国产精品久久91| a级日韩大片| 亚洲成人a**址| 亚洲高清不卡| 中文字幕 欧美日韩| 成人三级在线视频| 免费黄色在线网址| 亚洲va欧美va国产va天堂影院| 9i精品福利一区二区三区| 欧美一级理论片| 国产三级视频在线| 久久久久久久久电影| 一区二区三区日本视频| 欧美精品一区二区三区在线看午夜| 一区二区在线影院| 成人在线观看a| 丁香婷婷综合五月| 99热这里只有精品4| 欧美日韩中文字幕日韩欧美| 999免费视频| 日韩亚洲成人av在线| 巨茎人妖videos另类| 国产精品视频免费一区| 亚洲国产一区二区三区在线播放| 国产xxxxx在线观看| 成人性生交大片免费看中文| 女同久久另类69精品国产| 色婷婷综合久久久久中文一区二区| www.激情五月.com| 久久成人国产精品| 久久av日韩| 日韩精品在在线一区二区中文| 亚洲免费高清| 国产精品成人99一区无码| 亚洲欧美色综合| 中文字幕人妻丝袜乱一区三区 | 成人午夜电影在线播放| 91九色精品国产一区二区| 天堂av在线网站| 国产天堂亚洲国产碰碰| 潘金莲一级淫片aaaaaa播放| 亚洲国产精品久久| heyzo高清中文字幕在线| 成人区精品一区二区| 国内精品久久久久久久影视麻豆| 午夜av中文字幕| 中文字幕一区二区视频| 国产又大又黑又粗| 久久九九国产精品怡红院| 青娱乐极品盛宴一区二区| 亚洲视频sss| 麻豆精品国产91久久久久久| 男女男精品视频网站| 在线观看av一区二区| 成人精品一区| 成人精品一区二区三区| 伊人情人综合网| 极品人妻一区二区| 亚洲一卡二卡三卡四卡五卡| 午夜精品久久久久久久99| 欧美—级a级欧美特级ar全黄| 一区二区三区亚洲变态调教大结局 | 欧美成人三区| 91中文在线视频| 激情国产一区| 在线观看av中文字幕| 一本久久a久久免费精品不卡| 黄视频在线播放| 国产精品美女久久| 99热精品久久| 亚洲乱妇老熟女爽到高潮的片| 亚洲一区二区三区四区在线观看| 天天干天天插天天操| 国产精品国产亚洲伊人久久| 久久精品高清| 韩国三级在线看| 欧美视频裸体精品| 在线观看av黄网站永久| 91久久久亚洲精品| 亚洲福利久久| 国产成人免费观看网站| 4438成人网| 麻豆网站免费在线观看| 热re99久久精品国99热蜜月| 捆绑紧缚一区二区三区视频 | 欧美激情综合色综合啪啪| 欧美激情一区二区三区p站| 欧美日韩一区免费| 69久久久久| 国产精品国产亚洲精品看不卡15| 美女爽到呻吟久久久久| 尤物在线免费视频| 日韩av网站大全| 另类一区二区| 香港三级韩国三级日本三级| 国产亚洲综合av| 精品久久在线观看| 国产成人精品av在线| 亚洲综合小说| 四虎影成人精品a片| 欧美一区二区三区在线观看 | 日韩天堂在线观看| 日韩大片免费观看| 黄色免费高清视频| 91麻豆精品一区二区三区| 国产精品久久久久久久免费看| 5566日本婷婷色中文字幕97| 99久久婷婷这里只有精品 | 欧美一级片久久久久久久| 久久视频在线| 一本色道综合久久欧美日韩精品| 91精品国产美女浴室洗澡无遮挡| 一级毛片久久久| 国产免费一区二区视频|