문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
nosql:redis:distributed_lock [2025/02/19 11:20] kwon37xi [Redis Distributed Lock] |
nosql:redis:distributed_lock [2025/10/02 10:56] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Redis Distributed Lock ====== | ====== Redis Distributed Lock ====== | ||
| + | * [[https:// | ||
| ===== Lock 방식 ===== | ===== 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:// | + | * 좀 더 안전한 분산 Lock을 원한다면 [[https:// |
| * 하지만 일반적인 경우에는 Spin Lock 으로 충분하다. | * 하지만 일반적인 경우에는 Spin Lock 으로 충분하다. | ||
| 줄 16: | 줄 20: | ||
| ===== Redisson ===== | ===== Redisson ===== | ||
| - | * [[nosql: | + | * [[nosql: |
| 줄 29: | 줄 33: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||