“장보기 지원금이 곧 소멸돼요” 알림 뒤에서 일어난 일

“장보기 지원금이 곧 소멸돼요” 알림 뒤에서 일어난 일
장보기 지원금 소멸 알림 배치에서 메시지 발송 대기 중 DB 커넥션을 오래 점유해 타임아웃이 발생했습니다. 이를 위해 리소스 사용 구간과 발송 대기 구간을 분리해 배치 안정성을 높였습니다.
#Spring Batch#DB
105005분
새로운 기술 블로그가 추가되었어요

장보기 지원금 소멸 알림 배치에서 메시지 발송 대기 중 DB 커넥션을 오래 점유해 타임아웃이 발생했습니다. 이를 위해 리소스 사용 구간과 발송 대기 구간을 분리해 배치 안정성을 높였습니다.

멀티 센터 전환에 맞춰 배송최적화 시스템을 도입하고 주문분배·이관을 자동화했습니다. 그 결과 배송 리드타임을 평균 14시간 단축하고 운영 개입을 크게 줄였습니다.

레거시 알림톡 발송을 트랜잭션 커밋 이후 Kafka 기반 구조로 분리했습니다. 데이터 정합성과 확장성을 높이며 공통 발송 체계를 만들었습니다.


Spring Boot와 MongoDB에서 `@Transactional` 사용 시 단일 인스턴스에서는 트랜잭션 오류가 발생했습니다. 레플리카 셋을 구성하고 primary에 연결해야 정상적으로 롤백과 커밋을 처리할 수 있었습니다.