“장보기 지원금이 곧 소멸돼요” 알림 뒤에서 일어난 일
SSG.COM 의 장보기 지원금 소멸 알림 배치가 수십만 건을 병렬 발송하다 간헐적으로 "Connection is not available, request timed out"으로 실패한 문제를, Spring Batch 의 DB 커넥션 점유 구조를 손봐 해결한 사례를 다룬다. 발송 API 가 느린 게 아니라, 발송 응답을 기다리는 동안 DB 커넥션을 계속 붙잡는 chunk 구조가 진짜 원인이었다.
