SQS 기반 알림톡 처리에서 발생한 DB 커넥션 데드락 분석기
·2025.12.31 02:30
올리브영이 알림톡 발송 로직을 SQS 기반 이벤트 구조로 전환하며 겪은 트랜잭션 경합 문제와 해결 과정을 다룬다.
기존 알림톡 구조는 비즈니스 로직과 발송 로직이 강하게 결합되어 있어, 외부 API 지연 시 비즈니스 트랜잭션이 길어지고 시스템 전체의 처리량이 저하되는 문제가 있었습니다.
이를 해결하기 위해 Amazon SQS를 도입하여 알림 발송을 비동기 이벤트 구조로 재설계했습니다. 각 비즈니스 로직은 SQS에 메시지를 발행하기만 하면 즉시 종료되므로, 트랜잭션 점유 시간을 최소화하고 시스템 안정성을 높였습니다.
주요 설계 특징은 다음과 같습니다.
- 이벤트 기반 구조: SQS를 통해 발송 프로세스를 분리하여 트랜잭션 결합 해소
- 공통 인터페이스(NoticeSender): 알림 유형별 발송 로직을 표준화하여 확장성 확보
- 재시도 메커니즘: 실패 시 DB에 이력을 저장하고 Amazon EventBridge를 통해 주기적으로 재발송 수행
이러한 구조 개선을 통해 알림 발송 성공 여부와 관계없이 비즈니스 로직이 빠르게 종료될 수 있는 환경을 구축했습니다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.