[Spring] - ThreadPoolTaskExecutor를 이용하여 성능 개선하기 (feat. 비동기 멀티쓰레드, Amazon S3)
백오피스의 신규기능을 추가해달라는 운영팀의 요구사항이 들어와서 해당기능을 구현했다. 해당 기능은 상세페이지에서 해당 내용과 관련된 파일들을 S3에 업로드하는 기능이었는데 파일의 용량은 적었지만 갯수가 최대 15개까지 업로드가 되야했다. 문제는 파일을 업로드 하고 업로드된 파일을 서버에 전송할 때 서버에서 처리하는 시간이 2 ~ 2.5초 내외로 걸리다 보니 바로 응답이 오지 않아 운영팀에서는 로딩바를 추가해달라고 요청이 들어왔다. 하지만 나는 백엔드 개발자다보니 로딩바를 추가하는 것 보다 서버에서 처리속도를 개선하고 싶어서 어떻게 하면 빨리 처리될 수 있을까 고민을 하다가 비동기 방식의 멀티쓰레드를 이용해서 처리하면 아무래도 하나의 쓰레드로 모든 요청을 처리하는 것 보단 시간이 오래걸리는 작업들은 별도 쓰..
Spring
2021. 11. 28. 19:20