分布式事務之TCC服務設計和實現注意事項!

2021-08-29 22:52:24 字數 395 閱讀 3963

一、tcc簡介

tcc是一種比較成熟的分布式事務解決方案,可用於解決跨庫操作的資料一致性問題;

tcc是服務化的兩階段程式設計模型,其try、confirm、cancel 3個方法均由業務編碼實現;

其中try操作作為一階段,負責資源的檢查和預留,confirm操作作為二階段提交操作,執行真正的業務,cancel是預留資源的取消;

如下圖所示,業務實現tcc服務之後,該tcc服務將作為分布式事務的其中乙個資源,參與到整個分布式事務中;事務管理器分2階段協調tcc服務,在第一階段呼叫所有tcc服務的try方法,在第二階段執行所有tcc服務的confirm或者cancel方法;

tcc分布式事務 分布式事務之TCC事務模型

我們先套乙個業務場景進去,如下圖所示 那頁面點了支付按鈕,呼叫支付服務,那我們後台要實現下面三個步驟 1 訂單服務 修改訂單狀態 2 賬戶服務 扣減金錢 3 庫存服務 扣減庫存 達到事務的效果,要麼一起成功,要麼一起失敗!就要採取tcc分布式事務方案!tcc的全稱是 try confirm canc...

分布式事務之TCC

假設現在有乙個電商系統,裡面有乙個支付訂單的場景。對乙個訂單進行支付之後,我們需要做下面的步驟 以上業務場景對應下面的 public class orderservice tcc是try confirm cancel的簡稱 try 階段 嘗試執行,完成所有業務檢查 一致性 預留必需業務資源 準隔離性...

分布式事務之TCC

如果服務a和服務b之間是同步呼叫,比如服務c需要按流程調服務a和服務b,服務a和服務b要麼一起成功,要麼一起失敗。針對這種情況,目前業內普遍推薦使用tcc事務來解決的!ok,老規矩,我們先套乙個業務場景進去,如下圖所示 那頁面點了支付按鈕,呼叫支付服務,那我們後台要實現下面三個步驟 1 訂單服務 修...