질문
Q #12160
ajax 통신시 동시다발적 문제.
방문넷
2015-04-13 17:05:42
시나리오는 아래와 같습니다.
1. A회원(20,000원 보유)이 사이트에 게임 1,000원짜리 아이템을 구입요청(ajax로 금액부분과 아이템 가격 체크)
2. A회원의 포인트를 체크하여 아이템 구매할수있는지 없는지 체크후에 구입할수있으면 구입 승인.
3. A회원이 아이템을 구입한후에 금액을 차감후에 구입완료 메세지와 차감된 금액을 반환(ajax로 반환)
이런 시나리오 인데 현재 이렇게 진행중인데 코드를 제가 잘 못짜서 그런지 동시다발적으로 3~5개 신호를 날리면 3~5개가 전부 성공이 되고 디비에는 1개 아이템을 구매한 금액만 차감이 됩니다(즉 2만원 보유를 한상태에서 5개의 아이템을 같은 시간분초에 신호를 동시다발적으로 날리면 1개분만 대해서 금액만 빠지고 나머지에 대해선 차감이없습니다)
코드 문제에 대해선 어느정도 잡아둔상태인데 같은시간분초에 들어간거에 대해선 어찌 막을 방도가 없더라구요..........
동시에 여러 PC에서 접속해서 동시에 신호 날리면 위와 같은 문제가 발생합니다..
혹시 이런경우 원천 차단 할수있는 방법이나 노하우 좀 살짝 알려주시면감사하겠습니다..
$.get( "ajax/step1", function( data ) { if(data == 1) { $.get( "ajax/step2", function( data ) { if(data == 1) { $.get( "ajax/step3", function( data ) { if(data == 1) { $.get( "ajax/step4", function( data ) { if(data == 1) { alert('success'); } }); } }); } }); } });