토픽 141 / 201·분산 트랜잭션 및 보안
Saga Choreography vs Orchestration
Saga Choreography vs Orchestration
Saga 패턴에서 로컬 트랜잭션 간 조율 방식을 이벤트 기반(Choreography) 또는 중앙 조정자(Orchestration)로 구현하는 두 가지 접근법
Choreography (이벤트 기반)
- •각 서비스가 이벤트를 발행하고 다른 서비스가 구독하여 다음 단계 수행
- •중앙 조정자 없음, 서비스 간 직접 통신 (이벤트 브로커 경유)
- •장점: 느슨한 결합, 단순한 구현 (서비스 수 적을 때)
- •단점: 흐름 파악 어려움, 순환 의존 위험, 디버깅 난이도↑
Orchestration (중앙 조정자)
- •Saga Orchestrator(오케스트레이터)가 각 서비스에 명령을 보내고 응답을 받아 흐름 제어
- •중앙 집중식 워크플로 관리, 상태 머신으로 구현
- •장점: 흐름 가시성↑, 복잡한 비즈니스 로직 관리 용이, 디버깅 편리
- •단점: 오케스트레이터 SPOF 위험, 결합도↑
비교표
연관: Saga 패턴, 마이크로서비스, 이벤트 소싱, 분산 트랜잭션