每一個公司根據其業務和公司發展的不一樣階段,所設計的支付系統也會有所不一樣。咱們先看看互聯網公司的一些典型的支付系統架構。html
先看看業內最強的支付寶系統,支付寶的支付系統總體架構設計數據庫
這個總體架構上並無不同凡響之處。在模塊劃分上,這個圖顯示的是最頂層的劃分,也沒法告知更多細節。 但支付寶架構強點在兩個方面,一個是帳務處理,分爲內外兩個子系統,外部子系統是單邊帳,內部子系統走複式記帳。 很多支付平臺是從這裏獲得啓發來搞定的對帳系統。安全
另外一個亮點是柔性事務處理,利用消息機制來實現跨系統的事務處理,避免數據庫鎖致使的性能問題。架構
來自京東支付平臺整體架構設計 。運維
京東金融是在網銀在線的基礎上發展起來的。 網銀在線的原班技術人員有很多來自易寶公司,在京東收購以後,又引入了支付寶的人才。於是從架構上受這兩個公司的影響很大。機器學習
來自去哪兒公司分享的支付產品架構分佈式
來自美團的支付平臺規劃架構 。這是2015年的文檔。 2016年美團纔拿到支付牌照。 從這個架構,你們也能知道爲何美團必須拿到支付牌照。工具
這些架構文檔所有來自互聯網公開資料。 對於架構是否真實反映實際系統狀況,須要你們自行判斷。 咱們以這些文檔爲基礎,分析支付系統的應有的軟件架構。性能
通常來講,支付系統典型架構會包含以下模塊:學習
支付系統從架構上來講,分爲三層:
支撐系統是一個公司提供給支付系統運行的基礎設施。 主要包括以下子系統:
遠程鏈接管理、分佈式計算、消息機制、全文檢索、文件傳輸、數據存儲、機器學習等,都是構建大型系統所必須的基礎軟件,這裏再也不一一詳細介紹。
支付核心系統指用戶執行支付的核心流程,包括:
支持支付核心系統所提供的功能。服務系統又分爲基礎服務系統、資金系統、風控和信用系統。
基礎服務系統提供支撐線上支付系統運行的基礎業務功能:
資金系統指圍繞財務會計而產生的後臺資金覈實、調度和管理的系統,包括:
風控系統是支付系統必備的基礎功能,全部的支付行爲必須作風險評估並採起對應的措施;信用系統是在風控基礎上發展的高級功能,京東的白條,螞蟻花唄等,都是成功的案例。
支撐系統、核心系統和服務系統,在每一個公司的架構上應該是大同小異的,都是必不可少的模塊。而支付應用是每一個公司根據本身的業務來構建的,各不相同。 總的來講,能夠按照使用對象分爲針對最終用戶的應用、針對商戶的應用、針對運營人員的運營管理、BI和風控後臺。
這一章節簡單描述支付系統的總體架構。後續咱們將以此爲基礎,分別介紹各個模塊的設計。