💣 Problem


유저 회원가입 API에서는 이미지 업로드가 포함되어 있습니다. 이미지는 멀티파트 파일로 전송되어서 s3에 업로드되고 해당 url을 데이터베이스에 저장하고 클라이언트 에서 url를 받아서 로딩하는 방식으로 이미지를 확인할 수 있습니다. 여기서, 이미지 데이터 롤백과 관련해서 문제가 발생했습니다. 문제상황은 다음과 같습니다.

  1. 회원가입 요청
  2. 비밀번호 인코딩
  3. s3에 이미지 업로드
  4. 이미지 도메인 서비스로부터 받은 s3 이미지 url을 엔티티에 저장
  5. JPA 유저 저장소에 저장하는 도중 예외 발생
  6. RDBMS 데이터 롤백
  7. 업로드 된 S3이미지는 롤백되지 않고 사용되지 않은 채로 그대로 남게됨

문제를 정리하면 다음과 같습니다.