더북(TheBook)

4.1.2 분산 트랜잭션의 문제점

예전에는 분산 트랜잭션을 이용해서 여러 서비스, DB, 메시지 브로커에 걸쳐 데이터 일관성을 유지했습니다. X/Open DTP(Distributed Transaction Processing, 분산 트랜잭션 처리) 모델(X/Open XA)4은 분산 트랜잭션 관리의 사실상 표준(de facto standard)5입니다. XA는 2단계 커밋(2PC)을 이용하여 전체 트랜잭션 참여자가 반드시 커밋 아니면 롤백을 하도록 보장합니다. XA 호환 기술 스택은 XA 호환 DB, 메시지 브로커, DB 드라이버, 메시징 API, XA 전역 트랜잭션 ID를 전파하는 프로세스 간 메커니즘으로 구성됩니다. SQL DB는 대부분 XA와 호환되며 메시지 브로커도 일부 제품은 호환됩니다. 예를 들어 자바 EE 애플리케이션은 JTA 기술을 이용하여 분산 트랜잭션을 수행할 수 있습니다.

▲ 그림 4-1 createOrder( )는 여러 서비스의 데이터를 수정하는 메서드이므로 서비스 간 데이터 일관성을 유지할 수단을 강구해야 한다

 

 


 

5 역주 : 관습, 관례, 제품이나 체계가 시장이나 일반 대중에게 독점적 지위를 가진 것을 말합니다. 공식적 표준(de jure standard)과 대비되는 말입니다. (출처: 위키백과)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.