日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

高可靠的跨系統(tǒng)轉(zhuǎn)賬如何設(shè)計(jì)

來(lái)源: 責(zé)編: 時(shí)間:2024-01-15 17:10:54 255觀看
導(dǎo)讀大家好,我是蝸牛哥,跨系統(tǒng)轉(zhuǎn)賬網(wǎng)上教程很多,但是都是講的比較淺,這個(gè)功能看似簡(jiǎn)單,但是細(xì)節(jié)很多,要做好沒(méi)那么容易,因?yàn)樯婕暗椒植际绞聞?wù)、交易安全性等方面,做不好就出現(xiàn)資損,本文講一下如何設(shè)計(jì)一個(gè)高可靠跨系統(tǒng)轉(zhuǎn)賬,以及要關(guān)

大家好,我是蝸牛哥,跨系統(tǒng)轉(zhuǎn)賬網(wǎng)上教程很多,但是都是講的比較淺,這個(gè)功能看似簡(jiǎn)單,但是細(xì)節(jié)很多,要做好沒(méi)那么容易,因?yàn)樯婕暗椒植际绞聞?wù)、交易安全性等方面,做不好就出現(xiàn)資損,本文講一下如何設(shè)計(jì)一個(gè)高可靠跨系統(tǒng)轉(zhuǎn)賬,以及要關(guān)注的重點(diǎn)mJk28資訊網(wǎng)——每日最新資訊28at.com

示例說(shuō)明

銀行A 轉(zhuǎn)賬給B銀行,銀行A進(jìn)行出金,銀行B進(jìn)行入金mJk28資訊網(wǎng)——每日最新資訊28at.com

這里只是為了便于理解,所以才把系統(tǒng)命名為銀行A/B,具體可能與銀行的流程有點(diǎn)細(xì)微區(qū)別mJk28資訊網(wǎng)——每日最新資訊28at.com

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

會(huì)遇到哪些問(wèn)題?

轉(zhuǎn)賬失敗,不能直接回滾

要根據(jù)返回的異常來(lái)判斷,如果接收到的異常是一個(gè)業(yè)務(wù)異常,并且異常碼是雙方約定好的,那么可以進(jìn)行回滾,如果返回的不是一個(gè)明確的異常,,那么不能擅自回滾,因?yàn)榭赡苁蔷W(wǎng)絡(luò)超時(shí)異常,而網(wǎng)絡(luò)超時(shí),又分為響應(yīng)超時(shí)和請(qǐng)求超時(shí),如果是響應(yīng)超時(shí),對(duì)方系統(tǒng)可能已經(jīng)入賬了,所以要進(jìn)行重試操作確認(rèn)mJk28資訊網(wǎng)——每日最新資訊28at.com

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

面試題:超時(shí)異常,有哪幾種情況,怎么處理?mJk28資訊網(wǎng)——每日最新資訊28at.com

系統(tǒng)重試要保持冪等

假如網(wǎng)絡(luò)超時(shí)進(jìn)行重試,入金方的接口需要支持冪等,否則會(huì)出現(xiàn)可能重復(fù)入金,而冪等條件是根據(jù)出金方的業(yè)務(wù)流水號(hào)+渠道號(hào)進(jìn)行查詢判斷mJk28資訊網(wǎng)——每日最新資訊28at.com

  1. 如果有記錄,并根據(jù)狀態(tài),來(lái)決定響應(yīng)結(jié)果
  2. 如果沒(méi)有記錄則進(jìn)行入金,在返回對(duì)應(yīng)的響應(yīng)結(jié)果

如果失敗,那么出金方需要進(jìn)行解凍回滾操作,如果成功,那么需要進(jìn)行解凍出金操作。mJk28資訊網(wǎng)——每日最新資訊28at.com

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

同時(shí)入金方還要設(shè)置此組合字段為唯一索引,這樣可以避免重復(fù)插入的問(wèn)題,比如:未查詢到數(shù)據(jù),則進(jìn)行插入,正好前面一筆請(qǐng)求事務(wù)未提交,如果不設(shè)置唯一索引就會(huì)導(dǎo)致出現(xiàn)重復(fù)插入的問(wèn)題。mJk28資訊網(wǎng)——每日最新資訊28at.com

交易安全性

由于這種資產(chǎn)操作非常敏感,稍有失誤影響非常大,所以交易安全性是非常重要的,比如:有攻擊者知道B銀行的入金接口,那么直接調(diào)用,他的賬戶就會(huì)加錢(qián)。。。,所以要進(jìn)行以下安全措施mJk28資訊網(wǎng)——每日最新資訊28at.com

要進(jìn)行簽名調(diào)用

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

在轉(zhuǎn)賬前用私鑰對(duì)賬戶進(jìn)行簽名,然后給B銀行頒發(fā)一個(gè)公鑰,進(jìn)行入金的簽名驗(yàn)簽操作,來(lái)保證此請(qǐng)求是正常請(qǐng)求。mJk28資訊網(wǎng)——每日最新資訊28at.com

要對(duì)交易的時(shí)效性進(jìn)行校驗(yàn)

為了進(jìn)一步保證交易的安全性,雙方要約定好一個(gè)交易的時(shí)效性,比如5 分鐘,在進(jìn)行接口調(diào)用時(shí)攜帶請(qǐng)求時(shí)間,如果這個(gè)請(qǐng)求時(shí)間是5分鐘之前的進(jìn)行拒絕,等待重新發(fā)起。mJk28資訊網(wǎng)——每日最新資訊28at.com

要進(jìn)行系統(tǒng)對(duì)賬

除了簽名,雙方系統(tǒng)還要進(jìn)行對(duì)賬,而對(duì)賬又分為總賬對(duì)賬和明細(xì)對(duì)賬mJk28資訊網(wǎng)——每日最新資訊28at.com

總賬對(duì)賬

比如查看銀行A出金總額是否等于B銀行的入金總額,對(duì)賬頻率有小時(shí)、天不等,計(jì)算公式如下mJk28資訊網(wǎng)——每日最新資訊28at.com

轉(zhuǎn)賬給銀行B總額==接收到銀行A的入金總額 ?
明細(xì)對(duì)賬

除了總賬要進(jìn)行核對(duì),明細(xì)賬也要進(jìn)行核對(duì),因?yàn)榭傎~不平后,要確保那一個(gè)賬戶出現(xiàn)問(wèn)題,為了實(shí)現(xiàn)明細(xì)對(duì)賬雙方系統(tǒng)要保留對(duì)方系統(tǒng)流水號(hào),這樣才能對(duì)應(yīng)起來(lái),對(duì)賬頻率一般是天mJk28資訊網(wǎng)——每日最新資訊28at.com

要考慮并發(fā)扣款

在進(jìn)行賬戶操作時(shí),要考慮并發(fā)問(wèn)題,進(jìn)行加鎖處理,否則會(huì)出現(xiàn)資損,例如mJk28資訊網(wǎng)——每日最新資訊28at.com

  1. 訂單a和訂單 b同一時(shí)間都查詢到了,賬戶余額為1000
  2. 訂單a扣款200,訂單b扣款 100
  3. 假如訂單 a先執(zhí)行,那么賬戶余額為800,訂單 b 修改為賬戶余額為900,最終為 900,反正則為 800,都不對(duì)

具體可以查看并發(fā)扣款,如何保證結(jié)果一致性mJk28資訊網(wǎng)——每日最新資訊28at.com

涉及到表可能有哪些?

出金方

轉(zhuǎn)賬流水表

此表可以進(jìn)行對(duì)賬,也可以進(jìn)行定時(shí)任務(wù)重新發(fā)起重試mJk28資訊網(wǎng)——每日最新資訊28at.com

- 主鍵- 流水號(hào)- 用戶 ID- 方向:轉(zhuǎn)出轉(zhuǎn)入- 金額- 目標(biāo)方流水號(hào)- 時(shí)間- 狀態(tài) (等待調(diào)用、調(diào)用成功、調(diào)用失敗)
賬戶表

此表的作用不用多說(shuō),主要說(shuō)下凍結(jié)資金密度,防止真正扣款時(shí)賬戶上沒(méi)錢(qián),導(dǎo)致交易失敗,所以一般都是先進(jìn)行凍結(jié),如果失敗則進(jìn)行解凍mJk28資訊網(wǎng)——每日最新資訊28at.com

- 用戶 id- 總金額- 凍結(jié)資金- 賬戶狀態(tài)(正常 凍結(jié))- 時(shí)間
凍結(jié)記錄表

記錄凍結(jié)流水,防止出問(wèn)題沒(méi)法追溯mJk28資訊網(wǎng)——每日最新資訊28at.com

- 主鍵- 流水號(hào)- 用戶 Id- 金額- 類型:凍結(jié)、解凍- 關(guān)聯(lián)的業(yè)務(wù)流水號(hào)- 時(shí)間

入金方

以下表為最核心的表,但不是最全的表,比如應(yīng)該還有賬賬務(wù)流水表、賬務(wù)訂單、熱點(diǎn)賬戶表等mJk28資訊網(wǎng)——每日最新資訊28at.com

渠道轉(zhuǎn)賬流水表

此表可以進(jìn)行對(duì)賬,也可以進(jìn)行定時(shí)任務(wù)重新發(fā)起重試mJk28資訊網(wǎng)——每日最新資訊28at.com

- 主鍵- 流水號(hào)- 渠道- 業(yè)務(wù)方流水號(hào) //后期冪等要根據(jù)此字段進(jìn)行判斷,所以此字段+渠道號(hào)為唯一索引- 用戶 ID- 方向:轉(zhuǎn)出轉(zhuǎn)入- 金額- 時(shí)間- 狀態(tài)  (1成功 2失敗)
賬務(wù)表
- 用戶 id- 總金額- 凍結(jié)資金- 賬戶狀態(tài)(正常 凍結(jié))- 時(shí)間

最終流程應(yīng)該是什么樣的?

流程有4個(gè),分別為mJk28資訊網(wǎng)——每日最新資訊28at.com

  • 正常的轉(zhuǎn)賬流程
  • 補(bǔ)償轉(zhuǎn)賬流程
  • 總賬對(duì)賬流程
  • 明細(xì)對(duì)賬流程

其實(shí)這也是分布式事務(wù)最通用的實(shí)現(xiàn)方式,失敗就重試,直到最終成功,不管你是 tcc、還是其他的實(shí)現(xiàn)方式,只要出現(xiàn)異常,系統(tǒng)最終都要通過(guò)定時(shí)去重試,直到最終 一致,感興趣可以去看看 SEATA 源碼,遇到異常也是通過(guò)定時(shí)任務(wù)進(jìn)行重試。mJk28資訊網(wǎng)——每日最新資訊28at.com

轉(zhuǎn)賬流程

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

轉(zhuǎn)賬補(bǔ)償流程

這個(gè)流程是定時(shí)任務(wù)定時(shí)發(fā)起的,查詢小于等于當(dāng)前時(shí)間-指定時(shí)間,狀態(tài)為等待調(diào)用的轉(zhuǎn)賬記錄并重新發(fā)起轉(zhuǎn)賬mJk28資訊網(wǎng)——每日最新資訊28at.com

select * from transfer_list where   update_time <= #{queryEndDate}

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

總賬對(duì)賬流程

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

明細(xì)對(duì)賬流程

明細(xì)對(duì)賬,如果數(shù)量不大,一天天對(duì)沒(méi)問(wèn)題,現(xiàn)在銀行大多數(shù)是基于這種做法,如果文件比較大,可以考慮使用Merkle樹(shù),這里就說(shuō)傳統(tǒng)的方式mJk28資訊網(wǎng)——每日最新資訊28at.com

直接查詢對(duì)比

這種方式最快,數(shù)據(jù)不大可以這樣搞,同時(shí)也需要對(duì)方系統(tǒng)提供接口支持mJk28資訊網(wǎng)——每日最新資訊28at.com

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

基于文件對(duì)比

這種方式也是比較常用的方式,適合數(shù)據(jù)量大的對(duì)比,一般銀行會(huì)這么做mJk28資訊網(wǎng)——每日最新資訊28at.com

圖片mJk28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

以上我們介紹了如何設(shè)計(jì)一個(gè)高可靠的系統(tǒng)轉(zhuǎn)賬,可以看到還是比較復(fù)雜的,細(xì)節(jié)很多,主要要考慮補(bǔ)償、安全、并發(fā)扣款幾方面,這幾方面做好才能設(shè)計(jì)一個(gè)高可靠的系統(tǒng)轉(zhuǎn)賬。mJk28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-61904-0.html高可靠的跨系統(tǒng)轉(zhuǎn)賬如何設(shè)計(jì)

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Go 內(nèi)存優(yōu)化與垃圾收集

下一篇: Python系列:多線程(threading)的學(xué)習(xí)和使用

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美尤物一区| 一区二区久久久久| 国产喷白浆一区二区三区| 国产精品一区久久久| 黄色小说综合网站| 亚洲人成亚洲人成在线观看图片 | 久久五月天婷婷| 免费不卡视频| 欧美色欧美亚洲另类七区| 国产欧美一区二区精品婷婷| 影院欧美亚洲| 亚洲亚洲精品在线观看| 久久精品卡一| 欧美人妖在线观看| 国产热re99久久6国产精品| 一区二区视频欧美| 一区二区三区精品视频| 久久国产精品久久久久久久久久| 欧美护士18xxxxhd| 国产精品一区二区黑丝| 亚洲激情精品| 欧美一区二区三区在线| 欧美成人精品激情在线观看 | 亚洲精选视频在线| 欧美永久精品| 欧美美女喷水视频| 伊人久久大香线| 亚洲一区二区精品视频| 欧美a级片网| 国产视频亚洲精品| 一区二区免费在线视频| 开心色5月久久精品| 国产精品r级在线| 亚洲国产精品视频一区| 午夜欧美不卡精品aaaaa| 欧美 日韩 国产一区二区在线视频| 国产精品免费观看在线| 亚洲欧洲另类| 欧美一区二区三区在线看| 欧美日韩色综合| 亚洲成色精品| 久久精品av麻豆的观看方式| 国产精品白丝av嫩草影院| 亚洲激情第一页| 久久精品30| 国产精品视频免费观看www| 日韩视频在线一区| 美女视频黄a大片欧美| 国产婷婷色一区二区三区四区| 一区二区三区四区蜜桃| 欧美成人一区二区三区| 国模精品娜娜一二三区| 亚洲欧美制服另类日韩| 欧美日韩国产综合久久| 亚洲激情婷婷| 卡一卡二国产精品| 国产在线高清精品| 午夜免费久久久久| 国产精品久久久久久超碰| 日韩视频一区二区在线观看 | 美女主播一区| 黄色在线一区| 久久精品国产一区二区三区| 国产精品午夜av在线| 亚洲无线一线二线三线区别av| 欧美激情视频网站| 亚洲激情小视频| 免费观看成人鲁鲁鲁鲁鲁视频 | 亚洲国产一区视频| 巨乳诱惑日韩免费av| 国内精品免费午夜毛片| 久久xxxx精品视频| 国产亚洲欧美一区在线观看| 性久久久久久久久久久久| 国产精品久久久久久久第一福利| 99热在线精品观看| 欧美日韩另类丝袜其他| 夜久久久久久| 欧美三级日本三级少妇99| 一区二区三区毛片| 欧美亚洲成人精品| 午夜精品福利一区二区三区av| 国产精品区一区| 午夜精品亚洲一区二区三区嫩草| 国产精品视频xxxx| 性欧美18~19sex高清播放| 国产欧美日韩亚州综合| 欧美在线啊v| 伊人夜夜躁av伊人久久| 麻豆成人综合网| 亚洲欧洲日本一区二区三区| 欧美精品电影| 亚洲一区二区三区三| 国产乱子伦一区二区三区国色天香| 欧美亚洲综合久久| 黑人巨大精品欧美一区二区小视频| 久久一区二区三区国产精品 | 国产一区二区三区直播精品电影 | 美女精品自拍一二三四| 亚洲激情自拍| 欧美日韩免费看| 亚洲女人av| 国产一区二区久久久| 久久一综合视频| 亚洲精品视频一区| 国产精品久久久久9999高清| 欧美一区二区视频在线观看2020| 国产综合欧美| 欧美成人精品| 亚洲永久免费观看| 黄色日韩网站| 欧美激情四色 | 久久久久成人精品| 亚洲人成在线观看一区二区| 欧美日韩在线观看视频| 午夜亚洲福利| 在线观看亚洲视频| 欧美伦理一区二区| 欧美亚洲三级| 亚洲国产精品一区二区第一页| 欧美激情五月| 午夜精品久久久久久久99樱桃| 一区二区亚洲精品国产| 欧美日韩精品免费在线观看视频| 欧美亚洲在线| 亚洲日本中文字幕免费在线不卡| 国产精品啊啊啊| 久久免费高清视频| 亚洲午夜激情在线| 怡红院精品视频在线观看极品| 欧美日韩亚洲网| 欧美中文在线视频| 日韩一级精品| 韩国一区二区在线观看| 欧美日韩麻豆| 久久久中精品2020中文| 中日韩高清电影网| 尤物yw午夜国产精品视频明星| 欧美三级视频| 老巨人导航500精品| 亚洲综合久久久久| 亚洲欧洲在线视频| 国产午夜一区二区三区| 欧美精品日本| 久久久久久欧美| 亚洲影视综合| 亚洲人成网站777色婷婷| 国产一区二区三区的电影| 欧美日韩免费在线观看| 久久在线播放| 欧美一级视频一区二区| 99国产精品久久久久久久成人热| 国产原创一区二区| 欧美新色视频| 欧美精品18| 久热爱精品视频线路一| 午夜亚洲伦理| 在线亚洲一区| 亚洲精品久久久蜜桃| 狠狠色噜噜狠狠狠狠色吗综合| 国产精品久久久久久av下载红粉| 欧美粗暴jizz性欧美20| 久久久99免费视频| 午夜精品久久一牛影视| 一区二区三区国产| 亚洲日韩欧美视频| 一区二区三区在线看| 国产精品一区在线播放| 欧美视频中文字幕| 欧美精品1区| 裸体丰满少妇做受久久99精品| 欧美亚洲日本网站| 亚洲影视九九影院在线观看| 99re热精品| 亚洲日韩欧美一区二区在线| 娇妻被交换粗又大又硬视频欧美| 国产女人18毛片水18精品| 欧美色123| 欧美人成网站| 欧美猛交免费看| 欧美精品不卡| 欧美黄色免费| 欧美精品久久一区二区| 欧美国产1区2区| 欧美国产日韩一二三区| 免费影视亚洲| 欧美成人a视频| 嫩草成人www欧美| 老司机午夜精品视频在线观看| 欧美中文在线字幕| 欧美一区激情| 欧美一区二区三区在线免费观看| 西西人体一区二区| 欧美亚洲在线播放| 久久不见久久见免费视频1| 欧美一区亚洲| 久久av在线| 久久久久久久网站| 猫咪成人在线观看| 欧美1区3d| 欧美精品一线| 欧美日韩一区二区在线观看视频 | 久久国产精品久久久| 久久九九国产|