Latest Updated 2025. 05. 12 (D+0)
Junggu Ji
tryLock
)을 도입했습니다.ThreadPoolTaskExecutor
와 CompletableFuture
를 활용하여 다수의 LLM API 요청을 병렬 스레드로 동시에 전송하고 처리하도록 개선했습니다.RestTemplate
으로 인한 스레드 블로킹 문제를 근본적으로 해결하고자, 논블로킹 I/O를 지원하는 WebClient
로 전환했습니다.ThreadPoolTaskExecutor
와 CompletableFuture
)를 통해 응답 지연을 완화하는 현실적인 접근을 선택했습니다.@Scheduled
기반 푸시 시스템은 단일 스레드로 푸시 요청을 1건씩 순차 처리하여, 19만 전체 사용자 대상 발송에 5시간 이상이 소요되는 심각한 성능 병목이 존재했습니다.ThreadPoolTaskExecutor
(스레드 풀)를 도입하고 시스템 리소스를 고려하여 최적의 스레드 수를 설정했습니다.