강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

JinSung Hwang님의 프로필 이미지
JinSung Hwang

작성한 질문수

주문시스템으로 알아보는 분산트랜잭션

2PC 란 무엇인가?

2PC에 대해서 궁금해서 질문 드립니다!!

작성

·

12

·

수정됨

0

안녕하세요 강사님!

좋은 강의 잘 듣고 있습니다!!!

2PC 강의를 듣다가 XA 트랜잭션 부분에서 궁금한 점이 생겨서 질문드려요

강의에서 xa start 'product_1'xa start 'point_1'처럼 서로 다른 XID를 사용하신 것 같았는데요, 제가 이해한 게 맞는지 확인하고 싶어서요!

저는 XA 트랜잭션이 하나의 분산 트랜잭션으로 묶이려면 같은 XID를 사용해야 한다고 생각했거든요 그래서 몇 가지 궁금한 점이 있습니다

  1. 혹시 서로 다른 XID를 사용해도 하나의 원자적 트랜잭션으로 동작하는 건가요?

  2. 강의 1분에 나오는 다이어그램을 보니 Coordinator가 있던데, 이게 서로 다른 XID를 어떻게 연결해주는 건지 궁금하네요

  3. 'product_1'과 'point_1'처럼 다른 XID끼리 어떻게 하나로 묶이는지 원리가 궁금합니다!

바쁘시겠지만 시간 되실 때 답변 주시면 정말 감사하겠습니다!!

답변 1

0

최상용님의 프로필 이미지
최상용
지식공유자

JunSung Hwang 님 안녕하세요.

Q1. 혹시 서로 다른 XID를 사용해도 하나의 원자적 트랜잭션으로 동작하는 건가요?

A1. 서로 다른 XID 를 사용해도 하나의 원자적 트랜잭션을 사용하지 않습니다.

서로 다른 XID 를 활용하여 2개의 트랜잭션을 start 를 시도합니다.
2개의 트랜잭션이 성공적으로 실행되었을 때, 쿼리를 수행합니다.
그 후, 2개의 트랜잭션의 commit 을 시도하게 됩니다.

 

2개의 트랜잭션을 획득한채로 시작하기때문에 가능한것이라고 이해 해주시면 좋을것같습니다.

혹시나 이해가 안되셨다면 말씀 부탁드릴게요!

감사합니다.

JinSung Hwang님의 프로필 이미지
JinSung Hwang
질문자

넵, 잘 이해됐습니다~!

JinSung Hwang님의 프로필 이미지
JinSung Hwang

작성한 질문수

질문하기