MSA 환경에서 분산 트랜잭션의 정합성을 보장하기 위해 코레오그래피 기반 사가 패턴과 보상 트랜잭션을 구현했다.1. 문제 - 분산 트랜잭션모놀리식 아키텍처에서는 하나의 DB 트랜잭션으로 모든 작업을 묶을 수 있다.하나의 트랜잭션→ 결제 처리→ 예매 확정→ 성공 시 commit, 실패 시 rollbackMSA에서는 각 서비스가 독립적인 DB를 가져서 하나의 트랜잭션으로 묶을 수 없다.Payment DB ─┐ ├── 두 DB를 하나의 트랜잭션으로 묶을 수 없음 💀Booking DB ─┘이런 상황에서 정합성을 보장하려면 어떻게 해야 할까?2. 사가 패턴이란?사가 패턴은 MSA에서 분산 트랜잭션을 처리하는 패턴이다.각 서비스의 로컬 트랜잭션을 순서대로 실행하고 실패 시 보상 트랜잭션으로 이..