概要 2フェーズコミット(2-phase commit)とは、複数の独立したシステムが参加する分散トランザクションにおいて、処理の整合性が保たれるよう2段階に分けてコミットを行う手法。 トランザクション処理では、振り込みにおける出金と入金のように一体不可分な連続した処理を、すべて成功かすべて失敗(途中の処理が失敗したら実行済みの処理を取り消して開始前の状態に戻す)のどちらかに制御する。 分散トランザクションでは複数の独立した処理主体が一連の処理を分担して実行するため、通常のコミット処理によって結果を確定させることができない。このような場合に、準備と確定の2段階に分けてコミットを実施する方式を2フェーズコミットという。 トランザクションの制御を司るコーディネータはまず、処理を実行して結果を返すよう参加者に通知する。各参加者はトランザクションを構成する処理を実行し、成功したら「コミット可能」の