Redis Cluster 운영 및 클라이언트 전략 정리
· 5 min read
Redis Cluster 환경에서의 Topology 변화, 클라이언트 동작 방식, 그리고 Read 전략에 대한 핵심 내용을 정리합니다. 실무 및 면접에서 바로 활용 가능한 내용으로 구성하였습니다.
1. Redis Topology 개요
| 형태 | 설명 |
|---|---|
| Standalone | 단일 인스턴스 운영 |
| Master-Slave | 읽기 전용 Slave로 Read Scale-out 지원 |
| Sentinel | 마스터 장애 시 자동 Failover 지원 |
| Cluster | 샤딩 기반 분산 처리 + 자동 Failover 지원 |
2. 클라이언트별 Topology 변경 대응 전략

✅ Lettuce
- Adaptive Refresh:
enableAllAdaptiveRefreshTriggers() - 주기적 Refresh:
enablePeriodicRefresh(Duration.ofSeconds(10)) - Topology 변경에 빠르게 대응 가능
🍃 Lettuce 설정 예시 (Kotlin/Java)
val topologyRefreshOptions = ClusterTopologyRefreshOptions.builder()
.enableAllAdaptiveRefreshTriggers()
.enablePeriodicRefresh(Duration.ofSeconds(10))
.build()
val clusterClientOptions = ClusterClientOptions.builder()
.topologyRefreshOptions(topologyRefreshOptions)
.build()
val redisClusterClient = RedisClusterClient.create(redisURIs)
redisClusterClient.setOptions(clusterClientOptions)
✅ Redisson
- scanInterval: topology 스캔 주기 (권장: 5~10초)
- 자동 장애 복구 / slot 변경 반영 가능
🍷 Redisson 설정 예시 (YAML 기반)
clusterServersConfig:
scanInterval: 5000
failedSlaveReconnectionInterval: 3000
retryAttempts: 3
retryInterval: 1500
