commit한 데이터나 이미 반영한 데이터를 보정하는 트랜잭션
이전에 커밋된 트랜잭션을 취소하는 작업
분산 트랜잭션 환경에서 보상 이벤트를 발생시킴으로써 원자성을 보장하는 패턴
단일 DB에서 장시간 동작하는 트랜잭션에 대해 서포트하는 매커니즘으로 계획되었지만,
여러 서비스에 걸친 트랜잭션을 관리하는 데에도 적합
다수의 서비스에 있는 여러 API 동작으로 묶인 트랜잭션을 saga 라고 한다.
saga가 성공했을 때는 문제가 없지만,
문제가 되는 것은 Saga가 실패했을 때이다.
backward recovery, forward recovery 2가지 방식 존재