들어가면서정기 결제, 포인트 적립, 쿠폰 지급과 같이 금액이 직접적으로 연관된 시스템에서가장 중요한 것은 처리 속도가 아니라 데이터 정합성과 안정성입니다.정기 결제 배치 시스템을 운영하던 중단 한 명의 결제 실패가 이미 성공한 여러 건의 결제까지 모두 롤백되는 문제를 경험했습니다.더 큰 문제는로그에는 실제 예외가 발생한 위치가 아닌 UnexpectedRollbackException만 남아 있어서원인을 파악하는 데 생각보다 많은 시간이 소요되었다는 점이었습니다.이 글은 당시 문제를 해결하는 과정에서 제가 무엇을 놓치고 있었고트랜잭션을 어떻게 다시 바라보게 되었는지를 정리하기 위해 작성하게 되었습니다.본 글에서는 다음 세 가지를 중심으로 이야기를 풀어보려 합니다.UnexpectedRollbackExcepti..