Spring @Async 기반 비동기 파일 처리 구현 가이드

대용량 파일 업로드 시 동기 방식의 이벤트 처리는 HTTP 요청 스레드를 장시간 점유하여 사용자 경험을 저하시킵니다. 본 문서에서는 Spring의 @Async를 활용해 파일 수신과 후처리를 완전히 분리하는 비동기 아키텍처를 구축하는 방법을 다룹니다. 동기 처리의 한계 분석 기존 @EventListener 방식은 이벤트 발행과 처리가 같은 스레드에서 실행됩니다. 35초 이상 소요 ...

9월 17일 13:30에 게시됨

Nest.js에서 대용량 파일 청크 업로드 구현

파일 업로드는 웹 개발에서 흔히 접하는 요구사항입니다. content-type을 multipart/form-data로 지정하면 데이터가 다음과 같은 형태로 서버에 전달됩니다: 서버는 multipart/form-data 형식을 파싱하여 파일 데이터를 추출할 수 있습니다. 그러나 대용량 파일의 경우 상황이 달라집니다. 100MB 파일 업로드에 3분이 소요된다면, 1GB 파일은 약 30분이 걸립니다. 이러한 ...

8월 16일 03:25에 게시됨

알리바바 클라우드 OSS에 파일 업로드, 접근 링크 조회 및 삭제 처리

1. Maven 의존성 설정 프로젝트의 pom.xml 파일에 다음 의존성을 추가합니다. <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency> 2. OSS 연결 설정 파일 구성 oss.properties 파일을 프로젝트 리소스 디렉터리에 생성하고, ...

8월 7일 21:39에 게시됨

Spring Boot 프로젝트에서 로컬 파일 시스템으로 이미지 업로드 구현하기

스카이 테이크아웃(苍穹外卖) 프로젝트에서 클라우드 스토리지 서비스를 사용하지 않고 로컬 파일 시스템에 이미지를 저장하는 방법을 정리합니다. 1. 업로드 디렉토리 생성 sky-server/src/main/resources 경로 아래에 upload 폴더를 생성합니다. 원하는 다른 위치에 생성해도 무방하며, 그때는 경로만 수정하면 됩니다. 2. WebMvcConfiguration에서 정적 리소스 핸들러 ...

6월 19일 21:40에 게시됨

Element UI Upload 컴포넌트 재업로드 문제 해결

Element UI의 el-upload 컴포넌트를 수동 업로드 모드로 사용할 때, 첫 번째 업로드 실패 이후 동일 파일을 다시 업로드할 수 없는 현상이 발생한다. 특히 전체 화면에 로딩 오버레이가 적용된 경우 사용자 경험 측면에서 치명적이다. 문제 원인 분석 업로드 컴포넌트는 내부적으로 파일마다 status 속성을 관리한다. 파일 선택 시 ready 상태로 시작하여 업로드 진행에 ...

6월 4일 19:38에 게시됨