補償事務(TCC)

2021-09-14 02:44:16 字數 638 閱讀 3675

tcc(try-confirm-cancel):

try 階段:嘗試執行,完成所有業務檢查(一致性),預留必需業務資源(準隔離性)。

confirm 階段:確認真正執行業務,不作任何業務檢查,只使用 try 階段預留的業務資源,confirm 操作滿足冪等性。要求具備冪等設計,confirm 失敗後需要進行重試。

cancel 階段:取消執行,釋放 try 階段預留的業務資源,cancel 操作滿足冪等性。cancel 階段的異常和 confirm 階段異常處理方案基本上一致。

冪等:任意多次執行所產生的影響均與一次執行的影響相同

解決了協調者單點,由主業務方發起並完成這個業務活動。業務活動管理器也變成多點,引入集群。

同步阻塞:引入超時,超時後進行補償,並且不會鎖定整個資源,將資源轉換為業務邏輯形式,粒度變小。

資料一致性,有了補償機制之後,由業務活動管理器控制一致性。

分布式事務 TCC補償機制

tcc事務是try commit cancel三種指令的縮寫,其邏輯模式類似於xa兩階段提交,但是實現方式是在 層面來人為實現。tcc開源框架bytetcc,tcc transaction,himly 1 先來try一下,不要把業務邏輯完成,先試試看,看各個服務能不能基本正常運轉,能不能先凍結我需要...

TCC事務機制簡介

關於tcc try confirm cancel 的概念,最早是由pat helland於2007年發表的一篇名為 life beyond distributed transactions an apostate s opinion 的 提出。在該 中,tcc還是以tentative confirm...

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

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