카테고리 없음
선착순 댓글 이벤트 문제
gw1
2026. 2. 22. 00:04
어느 쇼핑몰에서 이벤트 게시글이 올라오고
선착순 1000명 댓글 남겨주신 분에게(나중에)
자동으로 90프로 할인 쿠폰을 제공합니다.
이 정보가 사전에 외부 커뮤니티에 공유되어
수 많은 사람이 동시에 댓글을 달려고 대기하고 있습니다.
Post 에는 comment_count 칼럼이 있고
댓글 작성 시 마다 +1이 증가 됩니다.
트랜잭션 시작
insert 댓글 테이블 values ~~
update 게시글 set comment_count = comment_count + 1 where id = ?;
기타로직 진행 중 ...
커밋;
사람이 몰리니
웹서버는 로드밸런서의 스케일 아웃으로 큰 이상은 없지만,
DB 서버에 과부하가 생기고
댓글을 달아도 오랜시간 동안 응답이 없는 문제가 생겼습니다.
show processlist
커넥션 수백개가 Waiting for a Row level lock 메시지가 발생.
해당 시나리오에서 DB서버의 부담을 줄이기 위한 방안을 구상하세요.
-----------------------------------------
부족한 상황 설명은 본인이 추가적인 가정을 넣어도 좋습니다.
해결 방법의 제한은 없습니다. 본인이 생각한게 답입니다.
다만, 복잡성, 비용, 부작용 등을 고려할 것
이거 선착순 쿠폰 1000명 정합성 짜르기 맞추는게 아니라 update count +1 병목을 해소하는게 문제에요 ㅠ