더북(TheBook)

▲ 그림 4-7 주문 생성 사가의 상태 기계 모델

상태 기계는 다양한 상태 전이도 정의합니다. 가령 주문 생성 사가의 상태 기계는 티켓 생성 상태 → 신용카드 승인 또는 주문 거부됨 상태로 전이합니다. 티켓 생성 커맨드를 보내 성공 응답을 받으면 신용카드 승인 상태, 주방 서비스가 티켓 생성을 할 수 없으면 주문 거부 상태로 전이되겠죠.

상태 기계의 초기 액션은 소비자 서비스에 소비자 확인 커맨드를 전송하는 것입니다. 소비자 서비스의 응답에 따라 그다음 전이가 트리거되겠죠. 소비자 확인에 문제가 없으면 사가는 티켓을 만들어 티켓 생성 상태로 전이하지만 그 외에는 주문을 거부하고 주문 거부 상태로 전이합니다. 상태 기계는 사가 참여자의 여러 가지 응답에 따라 다양한 상태 전이를 거치면서 결국 주문 승인됨, 주문 거부됨 두 상태 중 한쪽으로 귀결됩니다.

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