사용자 도구

사이트 도구


nosql:redis:distributed_lock

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
nosql:redis:distributed_lock [2025/02/19 11:20]
kwon37xi [Redisson]
nosql:redis:distributed_lock [2025/02/19 11:26] (현재)
kwon37xi
줄 2: 줄 2:
  
 ===== Lock 방식 ===== ===== Lock 방식 =====
 +
 +  * Spin Lock : ''SET NX EX'' 로 원자적으로 값을 설정하고 Expiration 지정. 그리고 Lock 을 다른 쪽에서 소유하면 spin 을 돌면서 지정 시간마다 다시 Lock 획득 재요청.
 +  * Pub/Sub : Lock 을 다른쪽이 소유해도 재요청 안함. Lock 획득이 가능해지면 message 를 publish 하는 방식. 구현 복잡도가 높고 Redis CPU 점유율, 과잉 트래픽 발생등의 문제가 발생할 수 있음.
   * 일반적인 Spin Lock과 Pub/Sub Lock 은 단일 Redis 인스턴스 기반으로 인스턴스에 문제가 생길경우 lock 이 꼬일 수 있다.   * 일반적인 Spin Lock과 Pub/Sub Lock 은 단일 Redis 인스턴스 기반으로 인스턴스에 문제가 생길경우 lock 이 꼬일 수 있다.
-  * 완벽한 분산 Lock을 원한다면 [[https://redis.io/topics/distlock|Distributed locks with Redis – Redis]] 에서 추천하는 **Redlock**을 사용해야 한다.+  * 좀 더 안전한 분산 Lock을 원한다면 [[https://redis.io/topics/distlock|Distributed locks with Redis – Redis]] 에서 추천하는 **Redlock**을 사용해야 한다.
   * 하지만 일반적인 경우에는 Spin Lock 으로 충분하다.   * 하지만 일반적인 경우에는 Spin Lock 으로 충분하다.
  
줄 29: 줄 32:
   * [[https://charsyam.wordpress.com/2022/12/31/%ec%9e%85-%ea%b0%9c%eb%b0%9c-%eb%b6%84%ec%82%b0-%eb%9d%bd%ec%97%90-%eb%8c%80%ed%95%b4%ec%84%9c/|[입 개발] 분산 락에 대해서… | Charsyam's Blog]]   * [[https://charsyam.wordpress.com/2022/12/31/%ec%9e%85-%ea%b0%9c%eb%b0%9c-%eb%b6%84%ec%82%b0-%eb%9d%bd%ec%97%90-%eb%8c%80%ed%95%b4%ec%84%9c/|[입 개발] 분산 락에 대해서… | Charsyam's Blog]]
   * [[https://tonymoly-tech.medium.com/redis-lettuce-distributed-lock-for-data-integrity-4bc5c8623f05|Redis Lettuce를 활용한 안전한 분산 락 구현 — 실시간 동시성 문제 해결 | Medium]]   * [[https://tonymoly-tech.medium.com/redis-lettuce-distributed-lock-for-data-integrity-4bc5c8623f05|Redis Lettuce를 활용한 안전한 분산 락 구현 — 실시간 동시성 문제 해결 | Medium]]
 +  * [[https://medium.com/sjk5766/redis%EA%B0%80-%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94-redlock%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90-2feb7278411e|Redis가 제공하는 RedLock을 알아보자]]
 +  * [[https://velog.io/@ohjinseo/Redis-%EB%B6%84%EC%82%B0%EB%9D%BD-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-Redlock|Redis 분산락 알고리즘 Redlock의 특징과 한계]]
 +  * [[https://esperer.tistory.com/65|[Redis] Distributed Lock (Redisson, Lettuce, RedLock) — 메모장 희망편]]
 +
nosql/redis/distributed_lock.1739931640.txt.gz · 마지막으로 수정됨: 2025/02/19 11:20 저자 kwon37xi