chap03를 이해하려면 결국 주문 생성 흐름을 따라가야 한다.
바로 이 흐름 안에서 Kafka, 이벤트, 커맨드, 오케스트레이터, 보상 처리라는 키워드가 한 번에 만난다.
주문 생성은 이제 아래처럼 흘러간다.
order-created 이벤트를 발행한다decrease-product-command를 보낸다product-decreased 이벤트를 발행한다create-delivery-command를 보낸다delivery-created 이벤트를 발행한다complete-order-command 또는 cancel-order-command를 소비한다즉, 더 이상 한 서비스가 혼자 끝내는 흐름이 아니다.
여러 서비스가 메시지를 주고받으며 하나의 주문 경험을 완성한다.

주문 서비스는 주문을 저장한 뒤 order-created 이벤트를 발행한다.
orderEventProducer.publishOrderCreated(
new OrderCreatedEvent(orderId, userId, address, messageItems)
);
이 시점부터 흐름은 더 이상 주문 서비스 내부 메서드 호출만으로 이어지지 않는다.
메시지가 전체 흐름의 출발 신호가 된다.