TWO PHASE COMMIT

2PC의 공유된 결정 지점

2PC는 모든 참여자가 준비되었는지 확인한 뒤, 하나의 최종 결정을 공유한다.

Prepare
Commit 결정
코디네이터 장애 시 대기
1Vote request코디네이터가 각 참여자에게 준비 가능 여부를 묻는다
2Prepare참여자는 로그를 남기고 커밋 가능한 상태로 잠금을 유지한다
3Global decision모두 Yes면 Commit, 하나라도 No면 Abort를 결정한다
4Finish참여자는 결정에 따라 커밋/롤백하고 잠금을 해제한다
강점

여러 참여자에 대해 원자적 커밋 결정을 만들 수 있다.

비용

Prepare 이후 장애가 나면 잠금과 대기가 길어질 수 있다.