一文看懂互聯(lián)網(wǎng)支付系統(tǒng)架構(gòu)


title: 一文看懂互聯(lián)網(wǎng)支付系統(tǒng)架構(gòu)
publish_date: 2020-07-18
tags: #支付系統(tǒng), #支付行業(yè), #互聯(lián)網(wǎng)支付, #移動支付, #SpringBoot, 熱門推薦, 最新發(fā)布
source: CSDN博客
original_url: https://blog.csdn.net/xuri24/article/details/107435028


?? 本文首發(fā)于CSDN:一文看懂互聯(lián)網(wǎng)支付系統(tǒng)架構(gòu)


一、支付系統(tǒng)的簡介

什么是支付系統(tǒng)?自古以來,所有的商業(yè)活動都會伴隨著經(jīng)濟(jì)的收款與付款行為。隨著時代的發(fā)展,記錄收付款行為的方式不斷迭代:古代的錢莊通過手工(算盤)記賬,工業(yè)社會通過收銀機(jī)機(jī)械記賬……

image.png
    如今,互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng)時代,我們的商業(yè)行為也一同進(jìn)行了數(shù)字化與信息化的演變,這就是所謂的電子商務(wù)。
    支付系統(tǒng)伴隨著電子商務(wù)的發(fā)展而出現(xiàn),它為各類電子商務(wù)經(jīng)營活動實(shí)現(xiàn)在線收付款交易以及管理交易資金等功能,獲得支付牌照的第三方支付公司可以參與資金的核算及存管,簡單說就是可以在合法期限、合法范圍內(nèi)挪用資金。是具有一定獨(dú)立性的內(nèi)部系統(tǒng)模塊----很多公司稱之為中臺。

二、支付行業(yè)發(fā)展的前世今生

億歐網(wǎng)上一篇中國支付行業(yè)發(fā)展史里的圖片,既形象又簡潔的代表了支付行業(yè)發(fā)展的前世今生:

image.png

而近代的支付行業(yè)發(fā)展史,可簡單描述為以下幾個時代:

第一個是現(xiàn)金時代
第二個是刷卡時代

第三個是二維碼時代
第四個是刷臉時代

                                                                   [中國支付行業(yè)發(fā)展簡史](https://www.vfinance.cn/news/industry2/139.html)

三、互聯(lián)網(wǎng)支付系統(tǒng)架構(gòu)

以小編之前在第三方支付公司工作的經(jīng)歷來說,有幸參與了公司從0到1搭建支付系統(tǒng)(重構(gòu))的過程。完整熟悉了支付行業(yè)生態(tài)及產(chǎn)品業(yè)務(wù),基于微服務(wù)分布式全新搭建的一套支付系統(tǒng)。查看另一篇文章,小編在支付公司的經(jīng)歷:

                                                             [聊聊我在第三方支付公司的經(jīng)歷](https://blog.csdn.net/xuri24/article/details/107282096)

3.1 技術(shù)棧:

  • Java
  • SpringBoot/SpringCloud
  • MyBatis
  • Redis
  • Kafka

swagger2

  • ELK
  • Maven

3.2 設(shè)計(jì)原則

  • 分而治之

微服務(wù)化:根據(jù)業(yè)務(wù)功能、不同的性能需求等將系統(tǒng)劃分為多個微服務(wù),每個微服務(wù)獨(dú)立開發(fā)、獨(dú)立部署、獨(dú)立運(yùn)行,擁有獨(dú)立的數(shù)據(jù)庫存儲,各個微服務(wù)之間使用接口通信,不允許跨微服務(wù)訪問數(shù)據(jù)庫。

  • 服務(wù)分層:支付系統(tǒng)系統(tǒng)的微服務(wù)按照在業(yè)務(wù)處理流程中的地位以及后續(xù)功能變更頻率分為公共服務(wù)層、基礎(chǔ)業(yè)務(wù)服務(wù)層、基礎(chǔ)支撐服務(wù)層。

  • 業(yè)務(wù)與平臺分離:業(yè)務(wù)系統(tǒng)(包括公司的業(yè)務(wù)系統(tǒng)和商戶系統(tǒng))與平臺從開發(fā)到部署完全分離,尤其需要強(qiáng)調(diào)的是公司的業(yè)務(wù)系統(tǒng)與公司在部署上也需分離,例如部分特殊的業(yè)務(wù)可部署在阿里云。

  • 前后端分離:所有包含界面的子系統(tǒng)遵循該原則,后端負(fù)責(zé)提供基礎(chǔ)的業(yè)務(wù)服務(wù)接口,前端負(fù)責(zé)展示界面的邏輯(前端包括客戶端的JS、后續(xù)可能的APP界面以及部署在服務(wù)端的負(fù)責(zé)根據(jù)界面展示需求聚合請求的Node.js等)。

  • 動靜分離:靜態(tài)資源和動態(tài)請求分離開發(fā)和部署,靜態(tài)資源后期可考慮上CDN。

  • 業(yè)務(wù)驅(qū)動設(shè)計(jì):

處理流程不強(qiáng)行抽象:例如支付服務(wù)的不同支付方式的處理流程如果存在較大不同,則內(nèi)部處理邏輯不強(qiáng)行抽象,避免各個環(huán)節(jié)均在判斷的情況。

  • 接口不強(qiáng)行抽象,根據(jù)業(yè)務(wù)適度抽象定義接口,避免大而全的接口出現(xiàn)

  • 注重非功能性質(zhì)量要求:

性能:避免不必要的性能損耗,合適的追求性能提升

異步優(yōu)于同步,示例如下:

如果微服務(wù)A的業(yè)務(wù)處理過程中,需要驅(qū)動微服務(wù)B進(jìn)行相關(guān)處理,但是并不依賴微服務(wù)B的處理結(jié)果,則使用異步消息機(jī)制,避免各個微服務(wù)之間產(chǎn)生不必要的性能耦合;例如清算服務(wù)異步通知支付服務(wù)清算結(jié)果,賬務(wù)系統(tǒng)驅(qū)動會計(jì)系統(tǒng)執(zhí)行會計(jì)分錄等。

  • 對上游渠道的通知處理,僅完成必要的處理后即返回,保證對上游渠道系統(tǒng)的友好性

  • 不追求強(qiáng)一致性,保證最終一致性

  • 微服務(wù)間同步調(diào)用采用HTTP協(xié)議,不使用二進(jìn)制協(xié)議,保證數(shù)據(jù)交互的良好可讀性

  • 可用性:充分考慮各種情況

所有服務(wù)均采用集群+業(yè)務(wù)調(diào)用無狀態(tài)化

  • 自動降級、限流
  1. 安全性

3.3 架構(gòu)邏輯

系統(tǒng)整體采用微服務(wù)架構(gòu),各個微服務(wù)獨(dú)立開發(fā)、獨(dú)立部署、獨(dú)立運(yùn)行、擁有獨(dú)立的數(shù)據(jù)庫,各個微服務(wù)之間接口進(jìn)行通信,不共享任何文件、數(shù)據(jù)。

系統(tǒng)邏輯上分為產(chǎn)品應(yīng)用層、接入層,公共服務(wù)層、基礎(chǔ)業(yè)務(wù)服務(wù)層和基礎(chǔ)支撐服務(wù)層五層,外加跨各層的運(yùn)維支撐的系統(tǒng),如下圖所示。

image.png

四、支付產(chǎn)品

支付產(chǎn)品是由支付系統(tǒng)對支付渠道進(jìn)行封裝而對業(yè)務(wù)方提供的支付能力,基礎(chǔ)支付產(chǎn)品分類如下:

  • 賬戶產(chǎn)品:企業(yè)賬戶服務(wù)(充值、提現(xiàn)、轉(zhuǎn)賬等) 集團(tuán)賬戶(分級管理、資金調(diào)撥等)
  • 基礎(chǔ)收款產(chǎn)品:代收代付、分賬、分潤等
  • 基礎(chǔ)付款產(chǎn)品:批量付款、委托結(jié)算等

互聯(lián)網(wǎng)支付產(chǎn)品,結(jié)合支付場景和流程,產(chǎn)品的主要應(yīng)用和分類又分為如下所示:

image.png

詳細(xì)可查看移動支付網(wǎng)一篇較為經(jīng)典的文章,既介紹了支付產(chǎn)品的業(yè)務(wù)和場景,支付系統(tǒng)的架構(gòu),又把幾個典型的互聯(lián)網(wǎng)電子商務(wù)公司的支付系統(tǒng)整體架構(gòu)圖羅列和講解了一番,非常值得推薦:

https://www.mpaypass.com.cn/news/201706/21102930.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容