본문 바로가기
IT/Knowledge

2PC 란?

by 성준하이 2022. 11. 4.
반응형
Two Phase Commit

의 약자인 2pc는 CQRS 의 패턴과 비슷하게 트랜잭션이 실패할 경우 rollback을 대비해서 존재하는 것이다.

 

CQRS 에 대해서는 아래 참고 포스팅을 참고 하면 된다.

 

CQRS에 비해서 2pc는 어떻게 보면 더 간단하다고 생각이 들수도 있지만.

트랜잭션의 유형에 따라 , 상황에 따라 CQRS 를 사용해도 되고 2pc를 사용해도 된다.

 

그럼 이 2pc는 

처음 시작하는 트랜잭션부터 끝나는 지점까지 모든 작업이 실패가 없이 이루어 진다면 그때 한번에 쿼리를 날리고 commit 을 하게 된다.

 

그렇게 된다면 rollback을 할일이 없어져 트랜잭션이 꼬이는 부분에서는 해결이 된다.

 

<begin> - 시작 : 독립적인 일을 시작하는 것
<end> - 끝 : 준비 이전까지 일을 끝내는 것

 

<prepare> - 준비
<commit> - 결과 반영

 

  • 진행단계
    • begin -> end -> prepare -> commit

로 이루어진다.

 

 


참고 포스팅

https://thenicesj.tistory.com/251

 

CQRS 패턴

CQRS란? Command Query Responsibility Segregation 의 약자로 단어 그대로 해석하면 명령 조회 책임 분리 라는 뜻 애플리케이션들을 구성하는 아키텍처에 대한 하나의 패턴 애플리케이션을 구현함에 있어 명

thenicesj.tistory.com

 

반응형

'IT > Knowledge' 카테고리의 다른 글

[Beacon] 근거리 데이터 통신 > 비콘  (44) 2022.11.15
run / debug 차이  (29) 2022.11.10
교착상태 / 기아상태  (48) 2022.11.03
git / github 차이  (32) 2022.11.02
DevOps 에서의 Blue-Green 배포, A/B 테스트, Canary Release  (39) 2022.10.29

댓글