Spring @Async 기반 비동기 파일 처리 구현 가이드
대용량 파일 업로드 시 동기 방식의 이벤트 처리는 HTTP 요청 스레드를 장시간 점유하여 사용자 경험을 저하시킵니다. 본 문서에서는 Spring의 @Async를 활용해 파일 수신과 후처리를 완전히 분리하는 비동기 아키텍처를 구축하는 방법을 다룹니다.
동기 처리의 한계 분석
기존 @EventListener 방식은 이벤트 발행과 처리가 같은 스레드에서 실행됩니다. 35초 이상 소요 ...
9월 17일 13:30에 게시됨
SpringBoot 비동기 처리와 세마포어를 활용한 동시성 제어
세마포어(Semaphore)는 다중 스레드 환경에서 공유 자원에 대한 동시 접근을 제어하는 동기화 메커니즘입니다. 허용된 개수만큼의 스레드만 자원에 접근할 수 있도록 관리하며, 초과하는 요청은 대기 상태로 전환됩니다.
실무에서는 외부 API 호출, 데이터베이스 연결, 파일 I/O 등 리소스 집약적인 작업에 동시 접근 제한을 적용하여 시스템 안정성을 확보합니다. 예를 ...
5월 29일 08:32에 게시됨