2相コミットプロトコル(2PC)は、分散トランザクションにおけるアトミック性(All or Nothing)を保証するための最も標準的な手法です。第1相は「準備相(Prepare Phase)」と呼ばれ、コーディネーターがすべてのコホートに準備要求を送信し、コホートは自身のローカルデータにロックをかけ、更新可能であれば「Vote Commit(コミット可)」、不可能であれば「Vote Abort(中断)」の返答を送ります。第2相は「コミット相(Commit Phase)」で、全員が「Vote Commit」を返した場合にのみ、コーディネーターが全員へ「Global Commit(全体確定)」を送信します。1台でも「Vote Abort」を返した、あるいはタイムアウトした場合は「Global Abort(全体取消)」となり、全員が元の状態にロールバックします。2PCの欠点として、コーディネーターが第2相の途中でダウンした場合、コホートがロックを保持したまま待機状態になってしまう「ブロッキング状態」が発生するリスクがあり、これを克服するために3相コミット(3PC)などの発展型プロトコルも考案されています。