Spring `@Async` ThreadPoolTaskExecutor가 포화되면 요청은 어떻게 될까?
Spring @Async ThreadPoolTaskExecutor가 포화되면 요청은 어떻게 될까?애플리케이션을 개발하다 보면 시간이 오래 걸리는 작업을 비동기로 분리하는 경우가 많다.예를 들면 다음과 같은 작업이다.사용자 프로필 변경 후 추가 정보 갱신로그 저장알림 발송외부 API 호출DB insert 후 후처리 이벤트 실행Spring에서는 보통 @Async와 ThreadPoolTaskExecutor를 사용해 이런 작업을 비동기로 처리한다.그런데 문득 이런 궁금증이 생겼다.비동기 작업이 몰렸는데, Thread Pool의 최대 스레드 개수도 다 찼고, Queue도 가득 찼다면 어떻게 될까?요청은 기다릴까?유실될까?아니면 내부적으로 어딘가에 저장될까?이번 글에서는 ThreadPoolTaskExecutor가 ..