Three-Phase Commit (3PC) is an extension of the Two-Phase Commit protocol designed to manage distributed transactions across multiple systems. In a distributed transaction, ensuring that all participating nodes (or systems) either commit or abort the transaction is critical for data consistency. 3PC improves upon 2PC by adding an additional phase to minimize the risk of blocking—a situation where nodes are left in an uncertain state if a coordinator fails during the transaction process.
In essence, 3PC divides the process into three distinct phases: