精品欧美一区二区三区在线观看 _久久久久国色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)

亚洲一区二区三区乱码aⅴ| 精品国产免费人成电影在线观看四季| 日本一区二区不卡高清更新| 午夜一级黄色片| 久久久久免费av| 日韩精品一区二区三区四区视频| 成年人视频观看| av免费在线一区二区三区| 精东粉嫩av免费一区二区三区| 欧美激情中文网| 国产亚洲精品熟女国产成人| 国产一区二区| 狠狠色香婷婷久久亚洲精品| 亚洲一区二区在| 偷拍自拍在线| 国产精品自拍网站| 国产精品精品国产| 国语对白一区二区| 99精品视频精品精品视频| 亚洲高清av在线| 老司机久久精品| 小视频免费在线观看| 亚洲三级电影网站| 日本一区二区三区在线视频| 欧美一区二不卡视频| 久久国产精品免费| 国产精品jizz在线观看麻豆| 久久精品视频6| 国产精品国内免费一区二区三区| 日韩av中文字幕在线播放| 99999精品| 成人在线中文| 在线欧美一区二区| 国产a级片网站| 伊人222成人综合网| 中文一区二区在线观看| 精品国产综合| 日本激情一区二区| 国产91丝袜在线观看| 91青草视频久久| 成人免费一区二区三区| 鲁大师成人一区二区三区| 欧美国产乱视频| 亚洲二区在线播放| 99久久激情| 中文字幕综合一区| 免费人成又黄又爽又色| 美女亚洲一区| 亚洲精品国产美女| 欧美熟妇精品黑人巨大一二三区| 老司机aⅴ在线精品导航| 精品国产99国产精品| 亚洲热在线视频| 日本一区影院| 日韩一级完整毛片| 老女人性生活视频| 99久久香蕉| 亚洲电影免费观看高清完整版在线观看| 日本女人黄色片| 一区二区三区四区精品视频 | 免费无码av片在线观看| 爱啪啪综合导航| 精品欧美国产一区二区三区| a级黄色一级片| 亚洲插插视频| 欧美亚日韩国产aⅴ精品中极品| 中文字幕在线导航| 日本亚洲欧洲无免费码在线| 91精品久久久久久蜜臀| 欧美日韩一区二区区| 538任你躁精品视频网免费| 亚洲第一区中文字幕| 国产肉体xxxx裸体784大胆| 网红女主播少妇精品视频| 亚洲欧美日韩在线高清直播| 亚洲性猛交xxxx乱大交| 久久亚洲成人| 欧美激情高清视频| 看片网址国产福利av中文字幕| 亚洲神马久久| 国产美女被下药99| 亚洲福利在线观看视频| 91免费观看在线| 亚洲国产欧美日韩| 亚洲91av| 欧美色videos| 国产三级精品三级在线| 在线日韩成人| 亚洲最大中文字幕| 妺妺窝人体色www婷婷| 亚洲专区欧美专区| 国产日韩中文字幕| 少妇无码一区二区三区| 国产片一区二区| 青青草免费在线视频观看| 91白丝在线| 欧美三级视频在线播放| 精品无码av一区二区三区| 久久99精品久久久久久园产越南| 久久天天躁狠狠躁夜夜av| 国产精品国产三级国产专区52| 日韩成人伦理电影在线观看| 99视频国产精品免费观看| 久久视频www| 樱桃视频在线观看一区| 成人性视频欧美一区二区三区| 精品国产不卡一区二区| 亚洲奶大毛多的老太婆| 欧美激情国产精品免费| 秋霞电影一区二区| 国语精品免费视频| 国产精品va在线观看视色 | 黄色免费观看视频网站| 精品久久亚洲| 中文精品99久久国产香蕉| 亚洲欧美在线视频免费| 国产精品18久久久久久久久久久久| 视频一区二区三区在线观看| 第一av在线| 欧美高清视频不卡网| 日本二区在线观看| 一本色道久久综合一区| 国产91一区二区三区| 日本在线人成| 色综合视频在线观看| caopor在线| 亚洲成人最新网站| 国产免费亚洲高清| 韩国福利在线| 欧美日韩国产丝袜另类| www.美色吧.com| 在线国产一区| 91精品久久久久久久久久久久久| 国产综合在线观看| 欧美性猛交xxxx免费看| 国产性生活毛片| 欧美三级不卡| 亚洲aaa激情| 国产区在线观看| 欧美三区免费完整视频在线观看| 日韩女同一区二区三区| 日韩黄色小视频| 日本一区高清不卡| 成人激情综合| 一本色道久久88综合日韩精品| 一级黄色在线观看| 久久精品人人做人人爽人人 | 久久激情五月激情| 亚洲成人在线视频网站| 成人黄色在线| 久久精品国产一区二区电影| 国产精品免费无遮挡| 亚洲图片欧美激情| 小日子的在线观看免费第8集| 婷婷亚洲五月| 亚洲xxxx在线| 高清毛片在线观看| 亚洲精品美女久久| 手机看片久久久| 国产欧美日韩久久| 色悠悠久久综合网| 亚洲影视一区| 高清av免费一区中文字幕| 牛牛在线精品视频| 精品伊人久久97| 最近国语视频在线观看免费播放| 国产精品入口麻豆九色| 亚洲天堂av一区二区三区| 综合久久一区| 国产欧美一区二区在线播放| 一区二区三区四区日本视频| 主播福利视频一区| 国产高潮在线观看| 午夜精品国产更新| 久久久久久国产免费a片| 国产在线精品视频| 亚洲国产精品无码观看久久| 日韩系列在线| 国产精品中文在线| 国产精品偷拍| 国产一区二区动漫| 99精品在线看| 亚洲18女电影在线观看| 国产综合精品在线| 国产成人精品一区二区三区四区 | 日本中文一区二区三区| 日韩精品一区二区三区电影| 无码少妇一区二区三区| 国产综合视频在线观看| 啊啊啊久久久| 精品国产一区久久久| 黄色av中文字幕| 欧美性色黄大片手机版| 国产一级一级片| 国产日韩欧美精品在线| av影片在线播放| 日韩国产精品久久久| 亚洲精品少妇一区二区| 国产中文精品久高清在线不| 91精品网站| 国产一区二区三区影视| 久久露脸国产精品| 亚洲精品传媒| 亚洲欧美中文日韩在线v日本| 国产精品久久久久久69| 色偷偷一区二区三区| 久久国产在线观看| 国产精品丝袜91| 三级男人添奶爽爽爽视频| 狠狠狠色丁香婷婷综合激情| www日韩视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产视频91在线| 亚洲特黄一级片| 精品国产aaa| 99久久久精品| 国产又粗又猛又爽又黄| 美女任你摸久久| 青青草原av在线播放| 亚洲网址在线| 伊人网在线免费| 欧美激情另类| 日本午夜精品一区二区三区| 日韩精品社区| 国产精品久久亚洲| 婷婷久久免费视频| 国产精品老女人视频| 中文不卡1区2区3区| 欧美激情一区二区久久久| av毛片在线免费看| xvideos亚洲人网站| av一本在线| 亚洲天堂av综合网| 久久天堂电影| 亚洲欧洲午夜一线一品| 日本人妖在线| 国产视频在线一区二区| 午夜av免费在线观看| 精品国产乱码久久久久久久 | 亚洲综合第一| 欧美精品尤物在线观看| 日本黄网免费一区二区精品| 伊人成综合网伊人222| 免费国产在线精品一区二区三区| 国产精品超碰| 激情视频一区二区| 老牛影视av一区二区在线观看| 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | 第九色区av在线| 国产一区二区免费| 九一国产在线| 一区二区欧美日韩视频| caoporn国产精品免费视频| 一本色道久久88亚洲综合88| 福利视频在线播放| 中文字幕在线成人| 50度灰在线| 久久久久久久久久久免费精品| 都市激情国产精品| 91成人国产在线观看| 成人av免费电影网站| 国产精品久久一| 亚洲我射av| 高清视频一区| 亚洲人成网www| 亚洲国产精品一区在线观看不卡| 国产精品99视频| 欧美激情亚洲天堂| 国产毛片久久| 亚洲这里只有精品| 国产精品一级二级三级| 99久久久无码国产精品性波多 | a级片免费在线观看| 8090成年在线看片午夜| 国产精品高清乱码在线观看| 国产欧美日韩精品在线观看| 日韩精品视频一区二区三区| 国产一区二区不卡视频| 欧美色图激情小说| 9191国产视频| 国产视频一区三区| 亚洲天堂国产视频| 99天天综合性| 免费看的黄色录像| 亚洲高清免费视频| 亚洲图片欧美日韩| 欧美一卡二卡三卡四卡| 亚洲色大成网站www| 日韩在线观看免费全| av中文字幕在线看| 成人网在线观看| 欧美亚洲tv| 公共露出暴露狂另类av| 亚洲一区成人| 亚洲AV成人精品| 国产喷白浆一区二区三区| 精品无码黑人又粗又大又长| 日本二三区不卡| 欧美自拍第一页| 啊v视频在线一区二区三区| 日本午夜大片a在线观看| 91欧美精品成人综合在线观看| 在线看成人短视频| a天堂资源在线观看| 久久精品国产99| 国产在线观看无码免费视频| 亚洲在线中文字幕| 在线免费观看日韩视频| 日韩精品在线观看一区| 丝袜中文在线| 成人午夜高潮视频| 成人婷婷网色偷偷亚洲男人的天堂| 91成人综合网| 国模少妇一区二区三区| 亚洲精品国产精品国自产网站| 午夜精品免费在线| 亚洲精品久久久久久无码色欲四季 | 中文字幕免费一区二区三区| 亚洲五月天综合| 91年精品国产| www.av视频在线观看| 日韩一区二区三区免费看 | 999在线免费视频| 波多野结衣中文字幕一区| 青青草精品在线视频| 欧美美女网站色| av影片免费在线观看| 国产精品jvid在线观看蜜臀| 最新国产一区| 日韩av资源在线| 99免费精品在线| 日韩精品在线不卡| 亚洲国产成人精品一区二区 | 久久影院100000精品| 国产裸体免费无遮挡| 久久久久久久精| 成人毛片在线播放| 日韩av一区二区在线观看| www.51av欧美视频| 国产福利一区二区三区在线观看| 午夜精品婷婷| 亚洲欧美综合视频| 亚洲国产另类av| 少妇精品高潮欲妇又嫩中文字幕| 性色av一区二区三区| 啪啪激情综合网| 91国视频在线| 91麻豆国产自产在线观看| 亚洲天堂一区在线| 亚洲人精品午夜在线观看| 欧美大片1688| 性欧美videosex高清少妇| 人人精品人人爱| 天堂av免费在线| 欧美一区二区三区视频免费播放| av中文字幕在线观看| 成人黄动漫网站免费| 亚洲啪啪91| 香蕉视频黄色在线观看| 在线区一区二视频| 欧美精品电影| 成人免费视频网站| 国产精品日韩久久久| a资源在线观看| 欧美一区二区三区视频在线观看| 国产探花在线观看| 精品一区在线播放| 日本不卡一区二区| 国模无码国产精品视频| 精品美女一区二区三区| 日本三级一区| 一区二区三区国| 大白屁股一区二区视频| 中文字幕视频网| 最好看的2019年中文视频| 国产美女亚洲精品7777| 精品国产免费av| 国产精品久久久久久久午夜片| 性做久久久久久久久久| 奇米4444一区二区三区| 91精品观看| 白丝女仆被免费网站| 欧美妇女性影城| jizzjizz中国精品麻豆| 涩涩日韩在线| 国产成人一区二区精品非洲| 久久久久久无码午夜精品直播| 久久精品国产久精国产一老狼 | 欧美性suv| ijzzijzzij亚洲大全| 91蝌蚪porny| www.av网站| 国产精品爱啪在线线免费观看| 欧美日韩国产探花| 国产在线综合视频| 精品国产精品一区二区夜夜嗨| 成人不卡视频| 日韩av高清在线看片| 1000精品久久久久久久久| 免费在线超碰|