트랜잭션 분리
-
AWS S3 이미지 저장 및 삭제와 DB로직 트랜잭션 분리Project 2023. 7. 27. 03:11
트랜잭션 분리 최근에 Real MySQL 이라는 책을 읽으면서 트랜잭션에 대한 내용을 읽었는데, 많은 지식들을 얻을 수 있었지만 그중 가장 크게 와닿았던 내용이 바로 트랜잭션의 범위를 최소로 해야 한다는 내용이었습니다. 특히 외부 API를 호출하거나 이메일을 보내는 등의 서비스를 하나의 트랜잭션으로 묶게 된다면 해당 트랜잭션을 수행하는 커넥션을 오래 갖게되고 이로 인해 데드락 등의 문제가 발생할 가능성이 올라가기 때문에 가능하면 트랜잭션의 범위를 좁히는 것이 좋다고 읽었고, 마침 프로젝트에 AWS S3에 이미지를 업로드 하거나 삭제하는 기능이 존재했었기 때문에 이번 기회에 트랜잭션 범위를 줄이도록 코드를 변경했습니다. 수정해야 하는 코드는 이미지를 업로드 하는 코드와 이미지를 삭제하는 코드였습니다. 해당..