アトミックコミット
名前が示すように、投票とコミットの2つのフェーズがある。
投票フェーズでは、各ノードがアトミックコミットの変更を独自のディスクに書き込む。次に、ノードはその状態を調整者に報告する。いずれかのノードが調整者に報告しないか、状態メッセージが失われた場合、調整者はノードの書き込みが失敗したと見なす。すべてのノードが調整者に報告すると、第2フェーズが始まる。
コミットフェーズ中に、調整者は各ノードにコミットメッセージを送信して、個々のログに記録する。このメッセージがノードのログに追加されるまで、加えられた変更はすべて不完全として記録される。いずれかのノードが障害を報告した場合、調整者は代わりにロールバックメッセージを送信する。これにより、ノードがディスクに書き込んだ変更がすべて削除される。
3相コミットプロトコルは、2相コミットプロトコルの主な問題を取り除くことを目的としている。これは、コミットフェーズ中に調整者と別のノードに同時に障害が発生した場合に発生し、どちらのアクションも実行すべきかを判断できない。この問題を解決するために、3番目のフェーズがプロトコルに追加される。コミット準備フェーズは、投票フェーズの後、コミットフェーズの前に発生する。
投票フェーズでは、2相コミットと同様に、調整者は各ノードがコミットする準備ができていることを要求する。