兩段式提交
通過使用某種協議進行通信來完成分布式事務,被稱為兩段式提交。從名字上看,您可能已經知道有兩個階段:
- 第一個階段,即預提交:
- 事務協調器給每個事務管理器發送準備操作的信號。
- 事務管理器將操作(通常是數據更新)步驟(或細節)寫入事務日志。如果失敗,事務管理器使用這些步驟重復操作。
- 事務管理器本地創建事務并通知資源管理器對資源(例如,數據庫或消息服務器)執行操作。
- 資源管理器執行操作并向事務管理器報告成功(準備提交信號)或失敗(準備回滾)。
- 資源管理器等待事務管理器進一步的指令。
- 事務管理器向事務協調器報告成功或失敗。
- 第二階段,即提交階段:在第二階段中,第一階段的結果將傳送給所有事務管理器。如果任何事務管理器報告失敗,所有的事務參與者都必須回滾。
- 事務協調器讓所有事務管理器提交(或回滾)。
- 所有事務管理器將提交或回滾信息傳遞給其資源管理器。
- 資源管理器將成功或失敗提示返回給事務管理器。
- 事務管理器向事務協調器報告成功或失敗。
posted on 2008-07-04 10:15 lqx 閱讀(490) 評論(0) 編輯 收藏 所屬分類: database 、other