마이크로서비스 아키텍처에서 여러 서비스에 걸친 분산 트랜잭션을 어떻게 조율할 것인가는 핵심 설계 과제이다. ACID가 보장되지 않는 분산 환경에서 Eventually Consistent 방식의 Saga 패턴이 주로 사용되며, 이 Saga를 구현하는 방식으로 오케스트레이션(Orchestration)과 코레오그래피(Choreography) 두 가지 접근이 존재한다.
| 구분 | 오케스트레이션 | 코레오그래피 |
|---|---|---|
| 제어 방식 | 중앙 조정자(Orchestrator)가 각 서비스에 명령 전달 | 각 서비스가 이벤트를 구독·발행하며 자율 반응 |
| 결합도 | 오케스트레이터에 종속 (중앙 집중적) | 느슨한 결합 (이벤트 브로커 경유) |
| 가시성 | 전체 흐름 파악 용이 | 전체 흐름 추적 어려움 (분산 추적 필요) |
| 단일 장애점 | 오케스트레이터 장애 시 전체 영향 | 브로커 이중화로 단일 장애점 감소 |
| 구현 도구 | Apache Airflow, Temporal, AWS Step Functions | Kafka, RabbitMQ, AWS EventBridge |
Saga 패턴은 분산 트랜잭션을 로컬 트랜잭션 시퀀스로 분해하고, 실패 시 보상 트랜잭션(Compensating Transaction)으로 롤백을 구현한다. 오케스트레이션 Saga는 조정자가 보상 트랜잭션을 직접 호출하고, 코레오그래피 Saga는 각 서비스가 실패 이벤트를 발행해 다음 서비스가 보상을 수행한다.
요양원 선택 전 반드시 확인해야 할 체크리스트를 공개합니다. 공식 평가 자료 조회법, 방문 시 확인…
공공기관 채용 비리의 실태와 피해 지원자의 대응법을 정리했습니다. 채용 비리 신고 방법, 공익신고자 보호제도, 취준생…
주식 손실을 세금 절약에 활용하는 합법적 방법을 공개합니다. 해외주식 손익통산, ISA 계좌 활용, 연금계좌 절세까지…
배달이 예상 시간보다 크게 늦으면 취소·환불을 요청할 수 있습니다. 배달앱별 지연 취소 방법과 잘못 배달됐을…
통신비 절약의 핵심은 요금제 최적화입니다. 내 데이터 사용량 확인법, 알뜰폰 전환 비교, 위약금 없이 요금제…