[타임딜 #03] 동시성 처리 — 비관적 락 vs 낙관적 락 vs 원자적 UPDATE

·
토이 프로젝트
이번 글 요약진단편에서 찾은 문제 2(재고 100개에 300명이 삼) 를 고친다.방식재고 100개, 300명인기 상품 초당 300건락 없음300명 성공, 재고 65 남음 ❌p95 0.32초, 판매 기록 1,105건 사라짐 ❌비관적 락100명 성공, 재고 0 ✅p95 0.31초 ✅낙관적 락100명 성공, 재고 0 ✅p95 12.3초, 실패 292건 ❌원자적 UPDATE100명 성공, 재고 0 ✅p95 0.31초 ✅셋 다 재고는 맞췄다. 차이는 요청이 한 상품에 몰릴 때 났다.트랜잭션 분리 후 재측정지난 글(#02)에서 외부 결제 호출을 트랜잭션 밖으로 빼서 응답 시간을 38초에서 0.3초로 줄였다. 그때 재고 손실도 7,115건에서 24건으로 줄어서, 솔직히 "이 정도면 거의 된 거 아닌가?" 싶었다.그래..