728x90
반응형
Cluster Mode Disabled vs Enabled 차이
가장 큰 차이는 데이터의 분산 저장 여부와 확장성이다.
| Cluster Mode Disabled | Cluster Mode Enabled | |
| 구조 | 하나의 Master(Primary)가 모든 데이터를 가지고 있고, Replica는 그 데이터를 그대로 복제만 함 | 데이터를 여러 개의 샤드(Shard)로 쪼개서 저장함. 각 샤드마다 Master-Replica 세트가 존재함 |
| 용량 제한 | Master 노드 1대의 메모리 용량이 곧 전체 Redis의 한계 | 노드를 추가할 수록 메모리 용량이 늘어남 |
| 주소 체계 | Primary Endpoint(쓰기/읽기)와 Reader Endpoint(읽기) 각각 제공 | 개별 노드 주소가 아닌 클러스터 상태 관리하는 configuration endpoint 하나만 사용 |
Cluster Mode Disabled 시 주의할 점
일반적으로 standalone 설정 방식으로는 Lettuce가 Replica의 존재를 자동으로 파악하지 못할 때가 많습니다. 따라서, 아래와 같이 설정해야 의도대로 동작합니다.
- Static Master/Replica 설정: Spring Data Redis에서 RedisStaticMasterReplicaConfiguration을 사용해 Master 주소와 Replica 주소를 직접 명시해주어야 한다.
- 동작 원리: 해당 configuration으로 설정하면, Lettuce는 Master와 Replica 연결을 각각 유지하다가 READ 요청이 오면 설정된 ReadFrom 전략에 따라 Replica 주소로 패킷을 보낸다.
(중요) 만약, 위처럼 master와 replica 주소를 설정하지 않은채, readFrom 전략에 REPLICA_PREFERRED와 같이 작성하면 알아서 Replica로 요청이 흘러가지 않는다.
위 설정 없이는 Lettuce 입장에서 가용한 Replica가 없다고 생각하기 때문에 결국 Master로 요청을 보내게 되는 것
참고
- Lettuce Wiki - Master-Replica
- Lettuce Redis Master/Replica (Lettuce를 이용한 레디스 마스터/복제용 Java Spring 애플리케이션 개발)
728x90
반응형
'DB > Redis' 카테고리의 다른 글
| [Redis] Unable to connect to X.X.X.X/<unresolved>:6379 (0) | 2026.01.24 |
|---|---|
| [ElastiCache] Cluster Mode vs Standalone (0) | 2026.01.01 |