Choreography
Order
OrderCreated 발행
→
Inventory
StockReserved 발행
→
Payment
결과 이벤트 발행
둘 다 로컬 트랜잭션의 연쇄지만 책임 위치가 다르다. 장애 추적과 변경 관리가 쉬운 쪽을 선택한다.
OrderCreated 발행
StockReserved 발행
결과 이벤트 발행
상태와 다음 명령 결정
명령 수행 후 응답
실패 시 역순 지시
Choreography는 중앙 조정자가 없지만 이벤트 계약이 중요하다.
Orchestration은 한 곳에서 진행 상태와 실패 위치를 추적하기 쉽다.
단계가 자주 바뀌면 명시적 조정자가 관리하기 쉽다.