分布式事務使用兩階段提交協議(Two-Phase Commit Protocol,簡稱 2PC)來保證事務執行的原子性。
2PC 包含兩個階段:
第一階段,也稱準備階段。由事務發起者向各參與者發送請求,詢問參與者是否準備好執行事務。
第二階段,也稱提交階段。在一階段所有參與者都確認可以執行事務后,各參與者開始分別執行事務分支。所有分支都成功則事務數據提交成功,否則,所有分支都進行數據回滾操作。
事務在某一時間點可能處在以下狀態之一:
初始化:應用發起事務
進行中
準備中:一階段操作中
提交中:一階段結束,正在二階段的提交操作中
回滾中:一階段結束,因為某些業務失敗,正在二階段的回滾操作中
已結束
已提交:事務結束,事務執行的數據變更已提交
已回滾:事務結束,事務執行的數據變更已回滾
異常
提交異常:一階段結束,二階段處理提交操作時出現異常
回滾異常:一階段結束,二階段處理回滾操作時出現異常
回查異常:一階段結束,二階段處理回查業務接口時出現異常
文檔內容是否對您有幫助?