728x90
데이터를 분산하는 기준
- 특정 key의 데이터가 어느 노드(shard)에 속할 것인지 결정하는 메커니즘이 있어야 함
- 보통 분산 시스템에서 해싱이 사용됨
- 단순 해싱으로는 노드의 개수가 변할 때 모든 매핑이 새로 계산 되어야 하는 문제가 있음
Hash Slot을 이용한 데이터 분산
- Redis는 16384개의 Hash Slot으로 key 공간을 나누어 관리
- 각 키는 CRC16해싱 후 16384로 modulo연산을 해 각 hash slot에 매핑
- hash slot은 각 노드들에게 나누어 분배됨
클라이언트의 데이터 접근
- 클러스터 노드는 요청이 온 key에 해당하는 노드로 자동 redirect를 해주지 않음
- 클라이언트는 MOVED 에러를 받으면 해당 노드로 다시 요청해야 함
728x90
'DB' 카테고리의 다른 글
[Redis] 성능과 가용성 (0) | 2024.03.26 |
---|---|
[Redis] 확장성과 가용성을 위한 클러스터_뭔 말 인지 모르겠다. (0) | 2024.03.18 |
[Redis] Redis Cluster (0) | 2024.03.12 |
[Redis] Redis Sentinel (0) | 2024.03.10 |
[Redis] 레디스의 복제 (0) | 2024.03.10 |