Backend
Redis 분산 락의 한계와 강한 정합성
1. 락을 얻었다고 항상 안전한 것은 아니다 결제 승인, 리더 선출, 되돌릴 수 없는 외부 명령처럼 두 번 실행되는 비용이 매우 큰 작업 은 "락을 얻었으니 안전하다"고 가정하면 안 된다. 이 글에서는 Redis 락이 실패할 수 있는 지점과, 오래된 작업자를 막는 펜싱…
TAG
3개의 글
1. 락을 얻었다고 항상 안전한 것은 아니다 결제 승인, 리더 선출, 되돌릴 수 없는 외부 명령처럼 두 번 실행되는 비용이 매우 큰 작업 은 "락을 얻었으니 안전하다"고 가정하면 안 된다. 이 글에서는 Redis 락이 실패할 수 있는 지점과, 오래된 작업자를 막는 펜싱…
1. 여러 서버에서는 JVM 락만으로 부족하다 쿠폰 발급, 선착순 구매, 재고 차감처럼 같은 자원을 동시에 변경하는 요청은 한 번만 처리되어야 할 때가 있다. 예를 들어 남은 수량이 1개인 쿠폰을 두 요청이 동시에 발급하면, 두 요청 모두 "아직 남아 있다"고 판단할…
1. 동시에 같은 데이터를 수정하면 문제가 생긴다 여러 요청이 같은 데이터를 동시에 읽고 수정하면 한 요청의 변경 내용이 사라질 수 있다. 예를 들어 재고가 10개일 때 두 사용자가 동시에 1개씩 주문한다고 생각해 보자. 두 번의 주문이 처리됐지만 최종 재고는 8이 아…