✅ Saga 패턴이란?
마이크로서비스 아키텍처(MSA) 환경에서 분산된 서비스 간의 트랜잭션 정합성을 보장하기 위해
각 서비스의 로컬 트랜잭션 + 보상 트랜잭션을 결합하여
전체 트랜잭션의 일관성을 유지하는 패턴이다.
📌 왜 필요한가?
- MSA에서는 서비스마다 DB가 분리되어 있어 **전통적인 분산 트랜잭션(2PC)**을 사용하기 어려움
- 외부 시스템 호출 등은 트랜잭션 롤백이 불가능
- 이 문제를 해결하기 위해, 각 단계가 실패하면 보상 트랜잭션을 수행하는 구조 필요