2PC兩段提交協議

2pc兩段提交協議

兩段提交協議裏面角色有

發起者(參與者): 接口調用的服務

參與者: 發起方里進行遠程調用的接口

協調者(全局事務者):整個服務事務的管理方

兩段提交協議詳細說明

在這裏插入圖片描述

第一階段提交

協調者會向發起者和參與者發送一個指令,如果發起者和參與者收到指令後,都會把該業務邏輯執行完成並且成功返回給協調者。協調者在第二階段會發送提交事務通知。

如果有一方返回執行失敗,協調者會終止提交。

第二階段提交

如果發起者和參與者全部都明確返回成功,則協調者向參與者發送提交指令,發起者和參與者釋放鎖定資源。如果一個參與者或發起者明確的返回失敗,則協調者會發送終止指令。參與者和發起者都會取消已變更的事務。釋放鎖定的資源。

缺點: 如果協調者宕機了,參與者和發起者沒有協調者的指揮,就會有同步阻塞。導致鎖表的情況。所以纔有三段提交協議概念

注意:在兩段提交協議裏,是沒有超時機制的概念

應用:解決傳統項目事務 jta+Atomikos裏面使用了

ps:如果有問題請在評論下指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章