여러 서비스에 걸친 주문 처리에서는 하나의 ACID ROLLBACK으로 전체를 취소하기 어렵습니다. 그래서 흐름이 중간에서 실패하면 이미 반영된 변경만 골라 업무 의미를 반대로 수행하는 보상 트랜잭션을 실행합니다.
위 행은 정방향 처리, 아래 행은 실패 후 복구입니다. 실패한 단계는 보상의 출발점이고, 아직 실행되지 않은 단계는 되돌릴 대상이 아닙니다.