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

萬(wàn)億資金流轉(zhuǎn)背后的秘密!支付寶如何用 TCC 實(shí)現(xiàn)零差錯(cuò)結(jié)算?

開發(fā) 架構(gòu)
相比傳統(tǒng) 2PC,TCC 在高性能、高可用、業(yè)務(wù)補(bǔ)償?shù)确矫嬲宫F(xiàn)出卓越的優(yōu)勢(shì),成為金融支付領(lǐng)域的首選事務(wù)控制方案。未來(lái),隨著金融科技的發(fā)展,TCC 方案或?qū)⑦M(jìn)一步優(yōu)化,以更靈活、更智能的方式應(yīng)對(duì)復(fù)雜的交易場(chǎng)景。

在數(shù)字支付時(shí)代,資金流轉(zhuǎn)的安全性與準(zhǔn)確性是金融科技企業(yè)的生命線。試想,當(dāng)用戶在支付寶完成一筆支付,訂單卻顯示失敗,或者轉(zhuǎn)賬扣款后,收款方卻遲遲未到賬,這不僅會(huì)引發(fā)用戶的強(qiáng)烈不滿,更可能帶來(lái)法律與合規(guī)風(fēng)險(xiǎn)。支付寶作為全球領(lǐng)先的支付平臺(tái),日均交易額達(dá)萬(wàn)億級(jí)別,如何確保每一筆資金都精準(zhǔn)無(wú)誤地流轉(zhuǎn)?

在高并發(fā)、跨銀行、跨數(shù)據(jù)中心的交易環(huán)境下,傳統(tǒng)的兩階段提交(2PC)協(xié)議在一致性、性能、網(wǎng)絡(luò)分區(qū)容忍度等方面暴露出嚴(yán)重缺陷,難以滿足現(xiàn)代支付系統(tǒng)的需求。因此,支付寶采用 TCC(Try-Confirm-Cancel)事務(wù)控制模型,通過業(yè)務(wù)層補(bǔ)償機(jī)制,實(shí)現(xiàn)高性能、高可用、最終一致性的資金結(jié)算方案。

本文將深入剖析支付寶如何借助 TCC 事務(wù)模型,保障資金零誤差流轉(zhuǎn),并通過 Spring Boot 3.4 版本實(shí)現(xiàn)一套完整的 TCC 資金結(jié)算代碼示例。

資金交易的挑戰(zhàn)

傳統(tǒng) 2PC(兩階段提交)的弊端

缺陷維度

技術(shù)表現(xiàn)

資金場(chǎng)景影響

典型案例

同步阻塞

事務(wù)協(xié)調(diào)器鎖定所有參與者,直到事務(wù)完成

大額轉(zhuǎn)賬時(shí)賬戶長(zhǎng)時(shí)間鎖定

賬戶鎖定超過 30 秒,TPS 下降 72%(1500 → 420)

單點(diǎn)故障

事務(wù)協(xié)調(diào)器宕機(jī)導(dǎo)致全局事務(wù)懸掛

支付網(wǎng)關(guān)故障引發(fā)交易狀態(tài)不確定

5000 筆交易受影響,MTTR > 15 分鐘,資損風(fēng)險(xiǎn) 0.3%

數(shù)據(jù)不一致

部分參與者提交失敗導(dǎo)致事務(wù)不完整

跨行轉(zhuǎn)賬扣款成功但入賬失敗

對(duì)賬誤差率 0.07%

網(wǎng)絡(luò)分區(qū)問題

網(wǎng)絡(luò)分裂場(chǎng)景無(wú)法自動(dòng)恢復(fù)

機(jī)房斷網(wǎng)導(dǎo)致賬戶余額漂移

30 分鐘不可用,資損放大

協(xié)議僵局

回滾時(shí)參與者失聯(lián)

結(jié)算節(jié)點(diǎn)宕機(jī)導(dǎo)致凍結(jié)資金

18% 交易需人工干預(yù)

TCC(Try-Confirm-Cancel)如何解決?

三階段解析

階段

目標(biāo)

關(guān)鍵動(dòng)作

Try

資源預(yù)留

A 賬戶凍結(jié) 1 萬(wàn)元,B 賬戶預(yù)增 1 萬(wàn)元

Confirm

確認(rèn)提交

A 賬戶實(shí)際扣款,B 賬戶實(shí)際入賬

Cancel

事務(wù)回滾

釋放 A 賬戶凍結(jié)金額,撤銷 B 賬戶預(yù)增

典型流程

  • 正常流程Try 成功 → Confirm 提交
  • 異常流程Try 失敗 → Cancel 回滾
  • 極端情況Try 成功但 Confirm 超時(shí) → 觸發(fā)定時(shí)任務(wù)重試

代碼實(shí)戰(zhàn):TCC 三階段實(shí)現(xiàn)

Try 階段:資源凍結(jié)

package com.icoderoad.service;


import java.math.BigDecimal;


public interface AccountService {
    boolean tryDeduct(String accountId, BigDecimal amount); // 凍結(jié)資金
    boolean confirmDeduct(String accountId, BigDecimal amount); // 實(shí)際扣款
    boolean cancelDeduct(String accountId, BigDecimal amount); // 釋放凍結(jié)
}
package com.icoderoad.service.impl;


import com.icoderoad.dao.AccountDao;
import com.icoderoad.entity.Account;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;


@Service
public class AccountServiceImpl implements AccountService {
    private final AccountDao accountDao;


    public AccountServiceImpl(AccountDao accountDao) {
        this.accountDao = accountDao;
    }


    @Override
    @Transactional
    public boolean tryDeduct(String accountId, BigDecimal amount) {
        Account account = accountDao.selectForUpdate(accountId);
        if (account.getBalance().compareTo(amount) >= 0) {
            account.setFrozenAmount(account.getFrozenAmount().add(amount));
            accountDao.update(account);
            return true;
        }
        return false;
    }
}

Confirm 階段:實(shí)際扣款

@Override
@Transactional
public boolean confirmDeduct(String accountId, BigDecimal amount) {
    Account account = accountDao.select(accountId);
    account.setBalance(account.getBalance().subtract(amount));
    account.setFrozenAmount(account.getFrozenAmount().subtract(amount));
    accountDao.update(account);
    return true;
}

Cancel 階段:回滾補(bǔ)償

@Override
@Transactional
public boolean cancelDeduct(String accountId, BigDecimal amount) {
    Account account = accountDao.select(accountId);
    account.setFrozenAmount(account.getFrozenAmount().subtract(amount));
    accountDao.update(account);
    return true;
}

TCC 關(guān)鍵問題及優(yōu)化方案

空回滾問題

場(chǎng)景:Try 未執(zhí)行,但 Cancel 被調(diào)用(如網(wǎng)絡(luò)超時(shí)觸發(fā)回滾) 

解決方案:在 Cancel 階段檢查 Try 是否執(zhí)行

@Override
@Transactional
public boolean cancelDeduct(String accountId,BigDecimal amount){
    Account account = accountDao.select(accountId);
    if(account.getFrozenAmount().compareTo(amount)<0){
        log.warn("空回滾,直接返回");
        return true;
    }
    return true;
}

冪等性問題

場(chǎng)景:網(wǎng)絡(luò)重試導(dǎo)致 Confirm/Cancel 被重復(fù)調(diào)用 

解決方案:使用事務(wù) ID 記錄執(zhí)行狀態(tài)

public class TransactionLog {
    private String txId;
    private int status; // 0-init, 1-try, 2-confirm, 3-cancel
}
@Override
public boolean confirmDeduct(String txId, String accountId, BigDecimal amount) {
    if (transactionLogDao.existsByTxIdAndStatus(txId, 2)) {
        return true;
    }
    return true;
}

懸掛問題

場(chǎng)景:Cancel 先于 Try 執(zhí)行(Try 超時(shí)后觸發(fā) Cancel,但 Try 仍被執(zhí)行) 

解決方案:Try 階段檢查是否存在回滾記錄

@Override
public boolean tryDeduct(String txId, String accountId, BigDecimal amount) {
    if (transactionLogDao.existsByTxIdAndStatus(txId, 3)) {
        log.error("事務(wù)已回滾,拒絕 Try 操作");
        return false;
    }
    return true;
}

為什么資金交易必須用 TCC?

方案

一致性

性能

適用場(chǎng)景

2PC

強(qiáng)一致

差(同步阻塞)

數(shù)據(jù)庫(kù)層簡(jiǎn)單事務(wù)

Saga

最終一致

高(異步)

長(zhǎng)流程業(yè)務(wù)

TCC

最終一致

高(資源預(yù)留)

資金、庫(kù)存等敏感操作

結(jié)論

支付寶能夠在高并發(fā)、大規(guī)模交易場(chǎng)景下實(shí)現(xiàn)零誤差結(jié)算,TCC 事務(wù)模型功不可沒。通過 Try 階段的資源預(yù)留、Confirm 階段的最終提交以及 Cancel 階段的回滾補(bǔ)償機(jī)制,TCC 在保證資金流轉(zhuǎn)最終一致性的同時(shí),避免了 2PC 帶來(lái)的數(shù)據(jù)庫(kù)長(zhǎng)事務(wù)鎖定、協(xié)調(diào)者單點(diǎn)故障等問題。

相比傳統(tǒng) 2PC,TCC 在高性能、高可用、業(yè)務(wù)補(bǔ)償?shù)确矫嬲宫F(xiàn)出卓越的優(yōu)勢(shì),成為金融支付領(lǐng)域的首選事務(wù)控制方案。未來(lái),隨著金融科技的發(fā)展,TCC 方案或?qū)⑦M(jìn)一步優(yōu)化,以更靈活、更智能的方式應(yīng)對(duì)復(fù)雜的交易場(chǎng)景。

對(duì)于開發(fā)者而言,理解 TCC 事務(wù)模型并掌握其在 Spring Boot 3.4 中的具體實(shí)現(xiàn),不僅有助于優(yōu)化支付系統(tǒng)的穩(wěn)定性和安全性,還能為其他涉及強(qiáng)一致性需求的業(yè)務(wù)場(chǎng)景提供借鑒。

責(zé)任編輯:武曉燕 來(lái)源: 路條編程
相關(guān)推薦

2011-09-28 14:24:39

支付寶手機(jī)支付

2009-03-16 08:54:19

IE截取器瀏覽器安全

2010-09-07 15:30:54

IE截取器

2019-11-13 09:46:08

技術(shù)研發(fā)指標(biāo)

2018-03-27 12:02:31

央行支付寶紅包

2009-11-23 10:02:22

PHP支付寶接口

2019-11-19 21:55:37

螞蟻金服雙11支付寶

2019-06-03 13:36:06

支付寶區(qū)塊鏈地鐵

2021-01-25 14:13:26

iOS支付寶支付

2021-09-09 15:30:28

鴻蒙HarmonyOS應(yīng)用

2015-10-12 09:00:54

2018-03-15 10:14:47

2014-11-17 10:52:56

支付寶去阿里化

2025-02-17 00:00:45

接口支付寶沙箱

2024-11-12 10:37:41

支付寶業(yè)務(wù)故障

2009-09-17 12:15:28

互聯(lián)網(wǎng)

2021-08-10 09:32:12

區(qū)塊鏈穩(wěn)定幣金融

2011-12-06 10:54:33

資金流控制運(yùn)營(yíng)資金管理

2023-11-28 08:53:15

2011-04-21 11:27:42

Firefox支付寶
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

香蕉视频网站入口| 国产中文字幕亚洲| 人人妻人人澡人人爽| 人人玩人人添人人澡欧美| 亚洲日本在线看| 99久久综合狠狠综合久久止 | 老司机aⅴ在线精品导航 | 欧美国产亚洲一区| av中文天堂在线| 高清久久久久久| 国产精品国产亚洲伊人久久| 欧产日产国产v| 九九久久婷婷| 日韩欧美国产小视频| 国产aaa一级片| 91精品久久| 国产欧美精品日韩区二区麻豆天美| 91精品在线看| 波多野结衣一本一道| 亚洲小说欧美另类社区| 中文字幕日韩综合av| 在线观看国产网站| 天堂va欧美ⅴa亚洲va一国产| 91国模大尺度私拍在线视频| 欧美a级免费视频| av电影在线观看| 99精品国产热久久91蜜凸| 91久久中文字幕| 最近中文字幕在线免费观看| 中文亚洲字幕| 欧美国产激情18| www.av成人| 一个色免费成人影院| 亚洲成年人在线| www.日本久久| 亚洲日本中文| 欧美色图在线观看| 成人性视频欧美一区二区三区| 黄网站在线免费| 国产精品色在线| 欧美在线播放一区| 亚洲AV第二区国产精品| 成人激情小说网站| 丁香五月网久久综合| 国产日韩精品suv| 精品综合久久久久久8888| 国产精品电影网站| 激情网站在线观看| 日韩精品每日更新| 国产成人精品免高潮费视频| 国产又大又黄视频| 国产欧美亚洲一区| 2019日本中文字幕| 亚洲免费在线观看av| 99av国产精品欲麻豆| 91精品国产成人| 久久露脸国语精品国产91| 亚洲特色特黄| 98视频在线噜噜噜国产| 香蕉免费毛片视频| 国产偷自视频区视频一区二区| 国内免费久久久久久久久久久| 免费人成年激情视频在线观看| 欧美日韩理论| 97国产精品免费视频| 国产精品1000| 国产日韩亚洲欧美精品| 欧美在线视频一区| aaaaaa毛片| 青青草国产成人99久久| 国产精品一区二区久久精品| 国产乱色精品成人免费视频| 国产精品一二一区| 国产欧美日韩一区二区三区| 亚洲欧洲视频在线观看| 国产亚洲自拍一区| 宅男av一区二区三区| 影音先锋在线视频| 精品国产精品自拍| 天天操天天爽天天射| 天天综合在线观看| 精品精品欲导航| 老牛影视av老牛影视av| 久久精品国产亚洲夜色av网站 | 国产精品久久久久久久久久久久久久 | 国产精品伊人| 欧美曰成人黄网| 欧美丝袜在线观看| aaa国产精品| 亚洲人成电影网站色…| 免费在线观看黄色小视频| 午夜日韩在线| 欧美在线观看视频| 亚洲天堂中文在线| 成人黄页毛片网站| 欧美性天天影院| а天堂中文在线官网| 婷婷综合久久一区二区三区| 国产一二三区av| 视频精品一区二区三区| 亚洲天堂成人在线视频| 一区二区三区四区五区| 在线综合亚洲| 91夜夜未满十八勿入爽爽影院| 日本黄色三级视频| 国产精品久久久爽爽爽麻豆色哟哟| 99er在线视频| 91九色综合| 精品久久久久久久久久久久包黑料 | 久久99精品久久久久久久久久久久| 亚洲无av在线中文字幕| 亚洲波多野结衣| 99精品国产在热久久婷婷| 国产精品视频26uuu| 成人午夜视频一区二区播放| 欧美国产视频在线| 成人一级生活片| 国产成人aa精品一区在线播放| 欧美视频三区在线播放| 日韩欧美一区二区视频在线播放 | 亚洲欧洲成视频免费观看| 日韩精品123区| 91九色porn在线资源| 国产精品美女久久久久久久| 日韩国产一级片| av在线播放资源| 欧美日韩大陆在线| 在线天堂www在线国语对白| 国产成人精品免费视| 欧美精品在线免费| 一级黄色免费片| 久久久电影一区二区三区| 无码中文字幕色专区| 99精品美女视频在线观看热舞| 亚洲久久久久久久久久久| 久久高清无码视频| 国产精品一级黄| 亚洲女人毛片| 视频精品导航| 亚洲欧美国产视频| 青青草免费观看视频| 成人激情午夜影院| 成年人看的毛片| 97人人澡人人爽91综合色| 久久天堂电影网| 国产一区二区波多野结衣| 中文字幕+乱码+中文字幕一区| 国产午夜伦鲁鲁| 国产欧美自拍一区| 九九精品在线视频| 亚洲国产成人va在线观看天堂| 91久久偷偷做嫩草影院| 无遮挡的视频在线观看| 91九色02白丝porn| 亚洲最大成人网站| 国产精品综合色区在线观看| 久久99精品国产99久久| 理论片午夜视频在线观看| 亚洲第一精品福利| 日韩欧美激情视频| fc2成人免费人成在线观看播放| 日韩精品一区二区在线视频| 97久久综合精品久久久综合| 久久久久久这里只有精品| 亚洲精品无码专区| 亚洲福利视频一区二区| 偷偷色噜狠狠狠狠的777米奇| 亚洲国产网站| 久久99精品久久久久子伦| 成人性生活视频| 亚洲一区二区久久| 国产又粗又猛又爽又黄视频| 亚洲欧美色一区| 手机在线成人av| 久久精品人人| 亚洲一区高清| 亚洲一区 二区| 555www成人网| 国产福利第一视频在线播放| 欧美日韩国产综合久久| 一区二区视频免费看| 国产在线一区二区| 久久男人资源站| 五月国产精品| 国产情人节一区| 久久免费电影| 国产一区二区三区精品久久久| 国产精品一级二级| 亚洲成人动漫av| 欧美一区二区三区粗大| 精品在线亚洲视频| 成年丰满熟妇午夜免费视频| 日本中文字幕在线一区| 国产精品无码专区在线观看| 欧美videos另类精品| 精品伊人久久97| 国产精品欧美综合亚洲| 午夜成人免费视频| 国产精品酒店视频| 成人晚上爱看视频| 先锋在线资源一区二区三区| 久久av网站| 国产精品电影网| 999精品网| 最近2019好看的中文字幕免费| 黄频在线免费观看| 在线观看亚洲a| 538任你躁在线精品视频网站| 久久精品欧美一区二区三区不卡 | 欧美黑粗硬大| 97色在线视频| 97影院秋霞午夜在线观看| 日韩黄色在线免费观看| 国产精品久久久久久免费免熟| 大伊人狠狠躁夜夜躁av一区| 一区二区三区四区五区| 国产无人区一区二区三区| 美女网站视频在线观看| 蜜桃视频在线观看一区二区| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 久久婷婷一区二区三区| 亚洲av毛片在线观看| 日韩国产在线一| 亚洲 自拍 另类小说综合图区| 欧美电影《轻佻寡妇》| 蜜桃麻豆91| 亚洲不卡视频| 91在线观看免费网站| 99只有精品| 人人澡人人澡人人看欧美| 国产美女情趣调教h一区二区| 社区色欧美激情 | 黄色在线免费观看大全| 亚洲国产精品字幕| 朝桐光av在线一区二区三区| 欧美乱熟臀69xxxxxx| 在线视频精品免费| 色综合久久久网| 国产性xxxx高清| 亚洲小说欧美激情另类| 草视频在线观看| 亚洲欧美色一区| 久久国产波多野结衣| 中国色在线观看另类| 高潮毛片无遮挡| 久久欧美一区二区| 国产精品jizz| 91婷婷韩国欧美一区二区| 国产伦精品一区二区三区88av| 国产美女主播视频一区| 天天做天天干天天操| 精品一区二区三区在线播放| 日韩在线不卡一区| 久久er99热精品一区二区| 色综合色综合色综合色综合| 美女视频网站黄色亚洲| 色播五月综合网| 美女视频黄 久久| 国产精品一区二区小说| 久草精品在线观看| 欧美精品色视频| 国产精品99久久久| 在线中文字日产幕| kk眼镜猥琐国模调教系列一区二区| 亚洲乱妇老熟女爽到高潮的片| 成人污视频在线观看| 亚洲第一黄色网址| 国产亚洲一区二区在线观看| 在线观看日本黄色| 亚洲欧美色综合| 国产精品99精品无码视| 欧美日韩亚洲网| 日韩黄色片网站| 欧美精品v日韩精品v韩国精品v| 国产又粗又猛又爽| 欧美va在线播放| 三级无遮挡在线观看| 一区二区三区高清国产| 思思99re6国产在线播放| 久久99国产精品久久久久久久久| 国精产品一区一区三区mba下载| 海角国产乱辈乱精品视频| 亚洲天堂资源| 国产欧美一区二区三区视频| 久久影院一区二区三区| 国产精品视频福利| 国产欧美日韩| 永久免费看av| 亚洲综合不卡| 欧美日韩中文不卡| 成人高清在线视频| 亚洲一级片在线播放| 亚洲精品欧美综合四区| 欧美三级韩国三级日本三斤在线观看 | 无码人妻精品一区二区三区99v| 国产综合网站| 日韩视频免费在线播放| 国产精品影视在线观看| 大地资源二中文在线影视观看| 欧美高清在线一区| 久久免费少妇高潮99精品| 色哟哟国产精品| 国产aⅴ爽av久久久久成人| 日韩激情第一页| aa在线视频| 国产精品高清在线观看| www.久久东京| 亚洲一区三区电影在线观看| 一本色道精品久久一区二区三区| 女人高潮一级片| 久久婷婷一区二区三区| 久久久久久蜜桃| 欧美日韩日日摸| 天天综合网在线观看| 播播国产欧美激情| 日韩成人影音| 国产伦精品一区二区| 91精品亚洲| 亚洲污视频在线观看| 91蝌蚪国产九色| 久久亚洲精品大全| 欧美精品v国产精品v日韩精品| 三级无遮挡在线观看| 久久全国免费视频| 精品中文字幕一区二区三区| 亚洲国内在线| 久久九九99| 国产老熟女伦老熟妇露脸| 一区二区三区四区激情| 一区二区三区免费在线| 亚洲桃花岛网站| 美女在线视频免费| 波多野结衣久草一区| 亚洲91中文字幕无线码三区| 精品999在线| 国产拍揄自揄精品视频麻豆| 91精品国产乱码久久久张津瑜| 精品久久久久一区| 成年视频在线观看| 91久久久久久久久久久久久| 日韩理论电影| 日本中文字幕高清| 国产日韩欧美精品电影三级在线| 人妻 日韩精品 中文字幕| 日韩成人在线网站| 蜜桃视频动漫在线播放| 国产伦精品一区二区三区免| 亚洲手机视频| 午夜久久久久久久| 中文字幕欧美区| 亚洲一区二区三| 性一交一乱一伧老太| 一区二区三区无码高清视频| 中文字幕不卡三区视频| 看高清中日韩色视频| 夜夜嗨一区二区三区| 成人午夜精品无码区| 亚洲妇女屁股眼交7| 日韩一卡二卡在线| 久久久久久久久久婷婷| 国产精品久av福利在线观看| 每日在线更新av| 久久er99精品| 8x海外华人永久免费日韩内陆视频| 久久中文字幕无码| 日韩欧美国产一区二区| 亚洲av电影一区| 欧美中文字幕在线| 欧美猛男做受videos| 无码内射中文字幕岛国片| 国产喷白浆一区二区三区| 亚洲怡红院av| 欧美成人中文字幕| 国产精品视频3p| 女人另类性混交zo| 亚洲欧洲日产国产综合网| 国产成人精品毛片| 午夜精品福利电影| 国产精品密蕾丝视频下载 | 福利网站在线观看| 精品在线不卡| 久久99精品久久久久婷婷| 欧美日韩一区二区三区免费| 国产一区二区在线不卡| 亚洲成人av中文| 涩爱av在线播放一区二区| 国产精品777| 亚洲理论电影网| 在线精品一区二区三区| 欧美亚洲禁片免费| 国产精品毛片va一区二区三区| 日韩欧美二区| 男人添女人荫蒂国产| 欧美日韩一区二区在线播放| 国产原创视频在线| 日韩精品国产精品| yellow视频在线观看一区二区| www久久久久久| 播五月开心婷婷综合| 午夜精品亚洲一区二区三区嫩草 |