在分布式系統(tǒng)中,每一個(gè)機(jī)器節(jié)點(diǎn)都能明確知道,自己在進(jìn)行的事務(wù)操作是否成功(可以理解為單機(jī)操作),但是卻無(wú)法直接獲取到其他分布式節(jié)點(diǎn)的操作結(jié)果。因此,當(dāng)一個(gè)事務(wù)操作需要跨越多個(gè)分布式節(jié)點(diǎn)的時(shí)候,為了保持事務(wù)處理的ACID特性,就需要引入一個(gè)稱為“協(xié)調(diào)者”的組件來(lái)統(tǒng)一調(diào)度所有分布式節(jié)點(diǎn)的執(zhí)行邏輯,我們把他稱作“參與者”?;谶@個(gè)思想,衍生了2PC和3PC的兩種協(xié)議。
階段一:提交事務(wù)請(qǐng)求
階段二:執(zhí)行事務(wù)提交(階段一反饋的結(jié)果都是Yes)
階段二:中斷事務(wù)(階段一反饋的結(jié)果有No或者有超時(shí)情況)