[타임딜 #04] Redis 분산 락 vs 비관적 락

·
토이 프로젝트
이번 글 요약Redis로 분산 락을 직접 만들어 붙였는데, 처음엔 재고 100개에 최대 300명이 샀다. 락을 DB에 확정 저장(커밋)하기 전에 풀고 있었다.커밋이 끝난 뒤에 락을 풀도록 고치자 정확히 100명만 사졌다.그런데 주문이 몰리자 Redis 락은 비관적 락의 절반밖에 처리하지 못했고, 상관없는 상품 조회까지 4.5초로 느려졌다. 서버를 2대로 늘려도 같았다.방식재고 100개에 300명주문이 초당 600건 몰릴 때 처리량그때 다른 상품 조회 응답Redis 락 (처음 버전)최대 300명 성공 ❌——Redis 락 (고친 버전)100명 성공 ✅초당 약 310건 ❌4.5초 ❌비관적 락100명 성공 ✅초당 600건 ✅0.01초 ✅원자적 UPDATE100명 성공 ✅초당 600건 ✅0.01초 ✅먼저 알아 둘..