← 테크곳간 목록으로

올리브영 테크블로그 · 2025. 12. 31.

SQS 기반 알림톡 처리에서 발생한 DB 커넥션 데드락 분석기

AI 엔지니어링 브리핑

알림톡 발송을 SQS 기반 비동기 구조로 바꾸는 과정에서 발생한 DB 커넥션 데드락의 원인과 해결 방법을 설명한 글입니다.

문제 & 배경
  • 문제 & 배경: 알림톡 로직이 여러 업무 코드와 비즈니스 트랜잭션에 흩어져 유지보수와 재처리가 어려웠고, 배포 후에는 SQS의 병렬 처리, 작은 DB 커넥션 풀, 중첩 트랜잭션이 겹치며 커넥션 부족으로 타임아웃이 발생했습니다.
기술 & 해결책
  • 기술 & 해결책: 알림 요청은 SQS에 먼저 넣고 별도 컨슈머가 Messaging API로 발송하도록 분리했으며, 실패 이력은 DB에 저장해 EventBridge로 재시도하고, 불필요한 REQUIRES_NEW를 제거하면서 동시에 처리할 메시지 수를 커넥션 수 이하로 제한했습니다.
교훈 & 주의점
  • 교훈 & 주의점: 비동기 시스템에서는 메시지 병렬 처리량과 작업 한 건당 필요한 커넥션 수를 함께 계산해야 하며, 각 설정이 실제 실행 환경에서 자원을 어떻게 점유하는지 검증해야 데드락을 예방할 수 있습니다.
원문 읽기 ↗
내용이 비슷해요

내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.