Backend
Redis 분산 락의 한계와 강한 정합성
1. 락을 얻었다고 항상 안전한 것은 아니다 결제 승인, 리더 선출, 되돌릴 수 없는 외부 명령처럼 두 번 실행되는 비용이 매우 큰 작업 은 "락을 얻었으니 안전하다"고 가정하면 안 된다. 이 글에서는 Redis 락이 실패할 수 있는 지점과, 오래된 작업자를 막는 펜싱…
TAG
3개의 글
1. 락을 얻었다고 항상 안전한 것은 아니다 결제 승인, 리더 선출, 되돌릴 수 없는 외부 명령처럼 두 번 실행되는 비용이 매우 큰 작업 은 "락을 얻었으니 안전하다"고 가정하면 안 된다. 이 글에서는 Redis 락이 실패할 수 있는 지점과, 오래된 작업자를 막는 펜싱…
1. 여러 서버에서는 JVM 락만으로 부족하다 쿠폰 발급, 선착순 구매, 재고 차감처럼 같은 자원을 동시에 변경하는 요청은 한 번만 처리되어야 할 때가 있다. 예를 들어 남은 수량이 1개인 쿠폰을 두 요청이 동시에 발급하면, 두 요청 모두 "아직 남아 있다"고 판단할…
1. 캐시는 원본 저장소 앞에 두는 빠른 복사본이다 상품 상세, 인기 게시글, 사용자 프로필처럼 자주 읽히지만 매번 바뀌지는 않는 데이터를 요청마다 데이터베이스에서 조회하면, 데이터베이스 연결과 디스크 I/O에 요청이 집중된다. 캐시(Cache) 는 자주 쓰는 데이터를…