
똑닥 멤버십과 MongoDB 트랜잭션 충돌 방지 방법
두줄요약
똑닥의 유료 멤버십 전환 과정에서 MongoDB 트랜잭션과 Write Conflict 대응 사례를 정리했습니다. 공통 키 기반 Lock과 모니터링으로 이중 결제를 방지한 방법을 소개했습니다.
핵심 내용
- 똑닥 유료 멤버십 전환 과정에서 정기 결제의 데이터 일관성을 위해 MongoDB 트랜잭션을 도입한 사례
- 운영 중 Write Conflict로 이중 결제가 발생해, 트랜잭션 충돌 가능성을 고려한 설계 필요성을 확인
- 동일 사용자 업데이트 경로에 공통 키 기반 Lock을 적용하고, 결제 이상 모니터링을 구축해 재발을 방지
주의할 점
- 동일 문서 갱신이 겹치는 API와 이벤트의 동시 실행 가능성
- 트랜잭션의 격리성만으로는 병렬 충돌을 완전히 막기 어려움
- 해지, 재결제, 결제수단 변경처럼 상태 변화가 많은 흐름의 타이밍 이슈
적용해볼 점
- 사용자 단위 공통 Lock으로 결제 관련 업데이트 직렬화
- 트랜잭션 충돌 지점 사전 점검과 재시도 흐름 관리
- 중복 결제 즉시 감지를 위한 이상 모니터링 체계 마련

