Redis/BullMQ 이용하여 연산 작업 따로하기
·
NestJS/개발
연산을 따로 하려고 하는 이유이번 작업을 하고 있는 토이 프로젝트의 전체적인 동작은 다음과 같다.클라이언트가 이미지를 업로드하면NestJS 백엔드 서버에서 이미지 원본과 WebP 변환 파일을 저장하고변환된 이미지의 경로를 PostgreSQL 데이터베이스에 기록한다.현재 구조에서는 파일을 하나만 올리거나 사용자가 많지 않을 경우에는 큰 문제가 발생하지 않는다. 그러나 동시에 여러 사용자가 이미지를 업로드하고 변환 작업이 이루어지면, 빨간색 네모 박스 부분을 잘 생각해야 하는데, CPU 연산이 많은 WebP 변환 과정에서 서버에 부하가 걸릴 가능성이 있다. 이 경우, NestJS 백엔드가 모든 변환 작업을 동기적으로 처리하게 되면 다음과 같은 문제가 발생할 수 있다.응답 지연: 변환이 완료될 때까지 API ..