[TroubleShooting]공연 등록 API 타임아웃과 비동기 처리 도입
·
Projects/Side Project
1. 배경관리자 화면에서 공연을 등록할 때, 회차나 이미지가 늘어나면 클라이언트에서 30초 타임아웃이 발생했다.서버 로그와 DB를 확인해보니 S3 업로드와 DB 반영은 타임아웃 이후에도 계속 진행되어 결국 완료되는 경우가 있었다. 즉, "요청은 실패로 보이는데 데이터는 들어가 있다" 는 불일치 현상이 발생했고, 이를 해결하는 과정을 정리했다.2. 원인 정리2.1 긴 요청 처리 시간createShow() 하나를 호출하면 아래 작업들이 순차적으로, 하나의 트랜잭션 안에서 실행되고 있었다.[단일 @Transactional 범위]① S3 포스터 업로드 ← 네트워크 I/O② DB: Show INSERT③ S3 상세이미지 업로드 × N장 ← 네트워크 I/O × N (순차 처리 시 ..