[댕댕어디가] 선착순 이벤트 시스템 구현기 - 동시성 문제 해결
·
댕댕어디가 프로젝트/트러블슈팅
선착순 이벤트 시스템이란?댕댕어디가에는 펫 페스티벌 티켓을 선착순으로 받을 수 있는 이벤트가 존재합니다. 빠른 저장과 부하를 위해 이벤트 당시에는 티켓을 발급한 유저의 정보를 Redis에 저장한 후, MySQL에 영속화하는 과정을 거칩니다. 이전 글에서는 이러한 선착순 이벤트 시스템 구현 과정을 글로 정리하여 남겼으며 부하테스트를 진행하여 목표 시간내 실행되는 것을 확인하였습니다. 그런데 테스트 중간 중간에 원하는 발급량보다 더 많이 발급하는 것을 확인하였고, 이번엔 이를 해결하기 위해 글로 남기고자 합니다.https://gani-dev.tistory.com/154 1. 동시성 문제 발견여러번의 부하 테스트 도중, 300개보다 더 많이 티켓을 발급한 경우를 확인할 수 있었습니다.2. 동시성 문제 발생 원..