사가의 구조
사가는 다음 세 가지 트랜잭션으로 구성됩니다(그림 4-8).
• 보상 가능 트랜잭션(compensatable transaction): 보상 트랜잭션으로 롤백 가능한 트랜잭션
• 피봇 트랜잭션(pivot transaction): 사가의 진행/중단 지점. 피봇 트랜잭션이 커밋되면 사가는 완료될 때까지 실행됩니다. 피봇 트랜잭션은 보상 가능 트랜잭션, 재시도 가능한 트랜잭션 그 어느 쪽도 아니지만, 최종 보상 가능 트랜잭션 또는 최초 재시도 가능 트랜잭션이 될 수는 있습니다.
• 재시도 가능 트랜잭션(retriable transaction): 피봇 트랜잭션 직후의 트랜잭션. 반드시 성공합니다.
▲ 그림 4-8 사가는 롤백 가능한 보상 트랜잭션, 사가의 진행/중단 지점에 위치한 피봇 트랜잭션, 롤백할 필요 없이 완료가 보장되는 재시도 트랜잭션, 이렇게 세 가지 트랜잭션으로 구성된다