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

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

올리브영
올리브영
2025년 12월 30일

두줄요약

SQS 기반 알림톡 처리로 전환한 뒤 DB 커넥션 타임아웃과 데드락이 발생한 원인을 분석했습니다. REQUIRES_NEW 제거와 SQS 메시지 수 조정으로 커넥션 경합을 해소했습니다.

문제 상황

  • 알림톡 발송 로직이 비즈니스 트랜잭션과 강하게 결합된 구조
  • SQS 이벤트 기반 전환 이후 배포 후 DB 커넥션 타임아웃과 데드락 발생

원인 분석

  • SQS MaxNumberOfMessages가 DB 커넥션 풀보다 크게 설정된 병렬 처리 구조
  • REQUIRES_NEW로 인해 알림 1건당 부모 트랜잭션과 추가 트랜잭션이 동시에 커넥션을 점유
  • 커넥션이 모두 점유된 상태에서 추가 커넥션을 기다리며 자원 경합 발생

해결 방법

  • REQUIRES_NEW 제거로 알림 1건당 추가 커넥션 요구 제거
  • SQS 최대 폴링 메시지 수를 커넥션 수 이하로 조정
  • 병렬 메시지 처리량과 커넥션 요구량을 함께 제어하는 방향으로 수정

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...