248
2
부
구현
이 돈을 지불하고 창고에서 물품이 포장되면, 이제 남은 단계는 포장된 택배 물품을 발송하는
것뿐이다. 어떤 이유로 인해 택배 물품을 배송하지 못한다면 (아마도 오늘 자 배송 차량에 해당
물품을 실을 공간이 부족한 경우 ) 전체 주문을 되돌리는 방식은 매우 이상해 보인다. 대신 우
리는 그 배송을 재시도하고(다음 날 배송을 위해 대기열에 넣는 경우 ), 그래도 실패한다면 사
람이 개입해 상황을 해결해야 할 것이다.
6.4.26.4.2
사가 패턴 구현 사가 패턴 구현
지금까지는 사가가 동작하는 방식에 대한 논리적인 모델을 살펴봤지만, 사가 자체를 구현하는
방식을 알아보기 위해 좀 더 깊이 파고들 필요가 있다. 여기서는 두 가지 사가 구현 방식을 살
펴본다.
오케스트레이션형 사가오케스트레이션형 사가
orchestrated
saga
는 원시 솔루션 공간을 밀접하게 따라가며 주로 중앙
집중식 조정과 추적에 의존한다. 오케스트레이션형 사가는
코레오그래피형 사가코레오그래피형 사가
choreographed
saga
와
비교할 수 있는데, 코레오그래피형 사가는 더 느슨하게 결합된 모델을 선호하므로 중앙 집중식
조정이 필요하지 않지만 사가의 진행을 추적하는 작업을 더 복잡하게 만들 수 있다.
오케스트레이션형 사가
오케스트레이션형 사가는 중앙 조정자
central
coordinator
(지금부터는 ‘오케스트레이터
orchestrator
’라고
부르기로 한다 )를 사용해 실행 순서를 정의하고 필요한 보상 조치를 트리거한다. 오케스트레
이션 기반 사가는 ...