예매 사이트 운영시에 티켓 오픈시에 한꺼번에 사람들이 몰리다보니까
동일한 시간에 좌석 선택하는 부분이 중복되는 경우가 발생했습니다.
기본 좌석 테이블이 있고 해당 좌석을 선택했을 경우
선택한 사용자의 정보가 좌석테이브에 업데이트 되도록 하고 있습니다.
해당 테이블의 특정 데이터에 한번 업데이트가 되고 나면 다른 사용자가 아예
접근을 못하게 할 수 있는 방법은 없나요?
보통 한번에 몰리는 경우 데이터 중복방지는 어떻게 처리하시는지?
예매 사이트 운영시에 티켓 오픈시에 한꺼번에 사람들이 몰리다보니까
동일한 시간에 좌석 선택하는 부분이 중복되는 경우가 발생했습니다.
기본 좌석 테이블이 있고 해당 좌석을 선택했을 경우
선택한 사용자의 정보가 좌석테이브에 업데이트 되도록 하고 있습니다.
해당 테이블의 특정 데이터에 한번 업데이트가 되고 나면 다른 사용자가 아예
접근을 못하게 할 수 있는 방법은 없나요?
보통 한번에 몰리는 경우 데이터 중복방지는 어떻게 처리하시는지?
선점 방식의 예매 사이트라면 여러가지 조건을 확인하셔야 합니다. (좌석 수, 좌석 로드 방식, 좌석의 KEY 등)
간단한 방법으로 SELECT 시에 Lock으로 처리가 가능하나 대량의 사용자가 Blocking 될 수 있으므로 해당 처리는 많은 테스트가 필요합니다.
INSERT 방식을 권장하고 싶습니다. 예매 사이트 특성 상 아무리 많은 사용자가 몰려도 좌석 선점 및 결제는 판매 좌석 수 + a(인기 상품일수록 작은 수) 이상 될 수가 없고 Unique key로 충돌 처리가 가능합니다.