더북(TheBook)

사가 오케스트레이션과 트랜잭셔널 메시징

오케스트레이션 사가는 DB를 업데이트하는 서비스와 메시지를 발행하는 서비스가 단계마다 있습니다. 예를 들어 주문 서비스는 주문 및 주문 생성 사가 오케스트레이터를 생성한 후 1번 사가 참여자에게 메시지를 보냅니다. 사가 참여자는 자신의 DB를 업데이트한 후 응답 메시지를 보내는 식으로 커맨드 메시지를 처리합니다. 그러면 다시 주문 서비스는 사가 오케스트레이터 상태를 업데이트한 후 커맨드 메시지를 다음 사가 참여자에게 보냅니다. 이런 식으로 참여자의 응답 서비스를 처리하는 것입니다. 이때 서비스는 트랜잭셔널 메시지를 사용해서 DB 업데이트와 메시지 발행 작업을 원자적으로 처리해야 합니다(3장). 주문 생성 사가의 오케스트레이터 구현 및 트랜잭셔널 메시징 적용 방법은 4.4절에서 자세히 설명합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.