一致性協(xié)議--3PC提交協(xié)議

上一篇 <<<一致性協(xié)議--2PC提交協(xié)議
下一篇 >>>2PC與3PC協(xié)議的提交區(qū)別


三階段提交協(xié)議是兩階段提交協(xié)議的改進版本,它通過超時機制解決了阻塞的問題,并且把兩個階段增加為三個階段.

1.詢問階段

協(xié)調(diào)者詢問參與者是否可以完成指令,協(xié)調(diào)者只需要回答是還是不是,而不需要做真正的操作,這個階段超時導致中止。

2.準備階段

如果在詢問階段所有的參與者都返回可以執(zhí)行操作,協(xié)調(diào)者向參與者發(fā)送預執(zhí)行請求,然后參與者寫redo和undo日志,執(zhí)行操作,但是不提交操作;
如果在詢問階段任何參與者返回不能執(zhí)行操作的結(jié)果,則協(xié)調(diào)者向參與者發(fā)送中止請求,這里的邏輯與兩階段提交協(xié)議的的準備階段是相似的,這個階段超時導致成功。

3.提交階段

如果每個參與者在準備階段返回準備成功,也就是預留資源和執(zhí)行操作成功,協(xié)調(diào)者向參與者發(fā)起提交指令,參與者提交資源變更的事務,釋放鎖定的資源;
如果任何一個參與者返回準備失敗,也就是預留資源或者執(zhí)行操作失敗,協(xié)調(diào)者向參與者發(fā)起中止指令,參與者取消已經(jīng)變更的事務,執(zhí)行undo日志,釋放鎖定的資源,這里的邏輯與兩階段提交協(xié)議的提交階段一致。


推薦閱讀:
<<<分布式事務產(chǎn)生的背景
<<<解決分布式事務的核心思路
<<<柔性事務和剛性事務(ACID)
<<<CAP理論簡單概況
<<<Base理論核心思想
<<<一致性協(xié)議--XA接口
<<<一致性協(xié)議--Jta規(guī)范
<<<一致性協(xié)議--2PC提交協(xié)議
<<<2PC與3PC協(xié)議的提交區(qū)別
<<<主流的分布式事務解決框架
<<<LCN-框架介紹
<<<LCN-實現(xiàn)原理剖析
<<<LCN-事務協(xié)調(diào)者(TM)安裝啟動
<<<SpringBoot整合LCN
<<<LCN-核心源碼分析
<<<LCN-集群模式介紹
<<<Seata-框架介紹
<<<Seata原理實現(xiàn)/執(zhí)行流程/生命周期
<<<Seata-TM執(zhí)行時突然宕機了會造成什么問題
<<<Seata-核心源碼分析
<<<SpringBoot整合Seata
<<<Seata與Lcn的區(qū)別

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容