天天看點

第三方支付系統技術分享技術架構技術棧分布式服務背景系統移動端綁定銀行卡業務場景之入金(支付/訂單)和出金(提現和轉賬)清結算(主要是結算)資料庫oracle自動化運維jenkins線上生産環境部署總結網上資料

layout: post title: "第三方支付系統技術分享" subtitle: " "1.架構設計 2.如何實作 "" date: 2018-10-17 06:00:00 author: "青鄉" header-img: "img/post-bg-2015.jpg" catalog: true tags: - 支付

技術架構

1.網上常見的支付系統架構體系圖

2.支付寶

3.京東

簡化流程圖

技術棧

controller/service/dao

1.struts2/springMVC //控制器層

有多個web,有的是struts2(早期),有的是springMVC(後期)。

2.spring //業務層

基于配置檔案或注解。

3.ibatis //持久層

基于sql。

三大中間件

1.memcache nosql資料庫-基于記憶體的緩存。

适用于:1.常用資料 2.小資料

例如:短信驗證碼,tokenID/order等

2.metaQ

消息發送

3.mongoDB

nosql資料庫-基于磁盤的緩存

适用于:1.不常用的資料 2.大資料

例如:記錄檔等

分布式服務

分布式服務架構

1.zookeeper //服務注冊中心

2.阿裡dubbo //服務治理和服務發現

服務

1.支付系統核心服務 //幾十個

按業務流拆分,按業務拆分

2.基礎架構 //1 20個

common架構 //啟動服務,memcache緩存,metaQ消息,mongoDB,http請求,加密等

3.背景系統 //幾十個

1)總背景 //10來個

2)商家 //10來個

3)代理商 //10來個

4)錢包背景和錢包app //1 20個

4.風控系統 //20個以上

5.model //10來個

訂單

提現轉賬

賬戶

使用者 //系統庫

風控

錢包

等等

背景系統

1.總背景

2.商家

3.代理商

4.錢包

移動端

1.商家

2.代理商

3.錢包app

類似支付寶。//核心功能:友善提現和轉賬。

綁定銀行卡

四要素:姓名、身份證号、手機号、銀行卡号。

業務場景之入金(支付/訂單)和出金(提現和轉賬)

入金(賬戶加錢)

支付方式

1.掃碼 //二維碼

2.H5 //支付寶/微信/浏覽器

3.快捷支付 //簽約/解約

流程圖

3條主線

出金(賬戶減錢)

1.提現 2.轉賬

流程圖

流程差不多,最大的差別是,一個加錢,一個減錢。

清結算(主要是結算)

1.清算

生成訂單資料的時候,訂單金額和手續費都已經計算好了。

2.結算 //給賬戶金額加錢

流程圖

訂單結算表和支付流水表

結算服務和賬戶服務之間的關系

資料庫oracle

1.按業務劃分

訂單庫

提現/轉賬庫

賬戶庫

系統使用者庫 等等

2.大表

1)按new/history劃分

2)表分區

partition by range (date)

自動化運維jenkins

1.開發和測試

開發送出代碼——》git——》jenkins打包——》測試拿包測試。

2.釋出 //運維部門,運維系統

測試整包——》推送釋出包——》運維正式上線。

線上生産環境部署

1.nginx叢集 //靜态内容和負載均衡/轉發請求

2.tomcat叢集

3.服務叢集

4.cdn加速 //靜态資源

5.中間件叢集

總結

1.支付核心交易流程

2.背景營運和監控

3.對賬 //單筆訂單對賬/多筆批量對賬

4.風控 //業務比較複雜,各種風控場景、規則

5.通道路由 //實作智能化路由通道:1.負載均衡 2.監控通道品質、是否可用等

網上資料

doc.cocolian.cn/

tech.meituan.com/tag/支付

轉載于:https://juejin.im/post/5c22f3ef6fb9a049c965b7a4