비관적 락 vs 낙관적 락: 동시성 문제를 해결하는 두 가지 방법
🙋♂️ 들어가기 전에: 왜 "락(Lock)"이 필요할까?우리는 여러 사용자가 동시에 사용하는 서비스를 만들고 있어요.예를 들어, 같은 상품의 재고를 동시에 여러 명이 주문한다고 해볼게요. 이럴 때 누군가의 수정이 다른 사람의 수정에 덮어씌워져 버린다면? 데이터가 꼬이고, 실제로는 재고가 1개인데 2명이 주문에 성공하는 말도 안 되는 일이 생길 수 있어요.이걸 동시성 문제(concurrency issue)라고 해요.그래서 이런 문제를 방지하기 위해 락(Lock)이라는 개념이 등장합니다.락은 쉽게 말하면, "지금 내가 이 데이터를 사용 중이니, 다른 사람은 잠시만 기다려 주세요!" 라고 말하는 것과 같아요. 🔐 락의 두 가지 방식데이터를 안전하게 보호하는 락에는 대표적으로 두 가지가 있어요.비관적 락 ..
2025.03.23