
마이크로서비스 분산 트랜잭션 관리, 보상 트랜잭션, MSA Transaction | Two Phase Commit, Saga Pattern
·
Cloud & Architecture/MSA
2PC (Two Phase Commit) 분산 시스템에서 트랜잭션을 변경할 수 있는 기능을 제공하는 방식 Transaction Coordinator가 각 서비스의 Commit. Rollback 을 제어하는 형태로 트랜잭션을 관리함 2PC는 서비스가 증가할수록 시스템의 대기 시간이 길어지며, 이는 응답시간의 증가를 초래함 Lock을 잡아야 하는 Row의 범위가 크거나 트랜잭션 기간이 긴 경우 시스템에 엄청난 대기시간을 발생하므로 수명이 매우 짧은 작업에만 사용하는 것을 권장 마이크로서비스 전체에서 상태 변경을 조정하기 위해 2PC와 같은 분산 트랜잭션을 사용하지 않는 것이 좋음 2PC는 결국 Coordinator를 기반으로 강력한 결합을 유도하고, 데이터에 직접적인 Lock을 잡고 처리하기 때문에 서비스간..