一階段提交(1PC One Phase Commit)
一 階段提交就是事務處理器向數據庫服務器發(fā)出提交請求,然后等待數據庫服務器的回應,收到回應后完成事務的提交,或者服務器返回提交失敗的結果就回撤事務。 危險期從發(fā)出請求開始,到收到回應結束,這段時間中數據庫完成數據的修改、日志記錄等處理,處理越復雜,危險期就越長。
兩階段提交(2PC Two Phase Commit)
- 第一階段,事務處理器向數據庫服務器發(fā)出"準備提交"請求,數據庫收到請求后執(zhí)行相同的數據修改和日志記錄等處理,不同的是處理完成后只是把事務的狀態(tài)改成"可以提交",然后把結果返回給事務處理器。
- 事務處理器收到回應后進入第二階段,如果在第一階段內的危險期中發(fā)生了故障,事務處理器收不到回應,則認為事務失敗,回撤事務。數據庫服務器收不到第二階段的確認提交請求,把"可以提交"的事務回撤.
- 兩階段的第二階段中事務處理器向數據庫服務器發(fā)出"確認提交"請求,數據庫服務器把事務的"可以提交"狀態(tài)改為"提交完成"狀態(tài),然后返回應答。
所謂兩階段提交, 即Two Phase Commit (2PC), 是分布式事務采用的一種處理


