작성
·
12
·
수정됨
0
안녕하세요 강사님!
좋은 강의 잘 듣고 있습니다!!!
2PC 강의를 듣다가 XA 트랜잭션 부분에서 궁금한 점이 생겨서 질문드려요
강의에서 xa start 'product_1'
과 xa start 'point_1'
처럼 서로 다른 XID를 사용하신 것 같았는데요, 제가 이해한 게 맞는지 확인하고 싶어서요!
저는 XA 트랜잭션이 하나의 분산 트랜잭션으로 묶이려면 같은 XID를 사용해야 한다고 생각했거든요 그래서 몇 가지 궁금한 점이 있습니다
혹시 서로 다른 XID를 사용해도 하나의 원자적 트랜잭션으로 동작하는 건가요?
강의 1분에 나오는 다이어그램을 보니 Coordinator가 있던데, 이게 서로 다른 XID를 어떻게 연결해주는 건지 궁금하네요
'product_1'과 'point_1'처럼 다른 XID끼리 어떻게 하나로 묶이는지 원리가 궁금합니다!
바쁘시겠지만 시간 되실 때 답변 주시면 정말 감사하겠습니다!!
답변 1
0
JunSung Hwang 님 안녕하세요.
Q1. 혹시 서로 다른 XID를 사용해도 하나의 원자적 트랜잭션으로 동작하는 건가요?
A1. 서로 다른 XID 를 사용해도 하나의 원자적 트랜잭션을 사용하지 않습니다.
서로 다른 XID 를 활용하여 2개의 트랜잭션을 start 를 시도합니다.
2개의 트랜잭션이 성공적으로 실행되었을 때, 쿼리를 수행합니다.
그 후, 2개의 트랜잭션의 commit 을 시도하게 됩니다.
2개의 트랜잭션을 획득한채로 시작하기때문에 가능한것이라고 이해 해주시면 좋을것같습니다.
혹시나 이해가 안되셨다면 말씀 부탁드릴게요!
감사합니다.
넵, 잘 이해됐습니다~!