3PC協(xié)議 Three-Phase-Commit 又稱三階段提交協(xié)議,相比 2PC 協(xié)議增加了一個(gè)階段,因此我們普遍把 3PC 協(xié)議看作是 2PC 協(xié)議的改進(jìn)版本。3PC 協(xié)議將 2PC 協(xié)議的準(zhǔn)備階段一分為二,從而形成了三個(gè)階段。協(xié)調(diào)者和參與者等待超時(shí)情況單獨(dú)說,先看正常情況的基本過程,要不然容易混淆。
在分布式系統(tǒng)中,每一個(gè)機(jī)器節(jié)點(diǎn)雖然都能明確的知道自己在事務(wù)操作中的結(jié)果是成功或失敗,但無法直接獲取其他節(jié)點(diǎn)的操作結(jié)果。因此在分布式環(huán)境中,為了保持事務(wù)的ACID特性,就需要增加一個(gè)“協(xié)調(diào)者”來管理其他節(jié)點(diǎn)(“參與者”)事務(wù)的提交和回滾。基于這個(gè)思想,衍生出二階段提交和三階段提交兩種協(xié)議。