Redis의 고가용성 설계

HelloPong·2025년 8월 6일

공부

목록 보기
16/39
post-thumbnail

⚡ Redis의 고가용성 설계 – Sentinel, Replication, Cluster

Redis는 빠르고 강력한 인메모리 캐시 시스템이지만,
단일 인스턴스로는 장애에 매우 취약합니다.
그래서 실무에서는 Replication, Sentinel, Cluster를 활용해
고가용성을 확보하는 것이 필수입니다.


🔰 1. Redis 단일 구조의 한계

기본 Redis는 단일 인스턴스로 구성되며 다음과 같은 한계가 있습니다:

  • ❌ 서버 다운 = 서비스 중단
  • ❌ 데이터는 메모리에 있기 때문에 영속성이 약함
  • ❌ 확장/분산/장애 대응이 불가능

➜ 그래서 실무에서는 이중화와 분산을 고려해야 합니다.


🧬 2. Redis Replication (Master-Slave 구조)

Redis는 기본적으로 비동기 복제를 지원합니다.
하나의 Master가 쓰기, 여러 개의 Slave가 복제를 통해 읽기 전용으로 구성됩니다.

📌 구조 예시

      [Client]
          ↓
    ┌──────────┐
    │ Master   │ ← 쓰기
    └──────────┘
       ↓    ↓
   [Slave1][Slave2] ← 읽기

✅ 장점

  • 읽기 부하 분산 (Read Scaling)
  • 장애 시 Slave를 수동 승격 가능

⚠️ 단점

  • Master 장애 시 자동 전환 안 됨
  • 복제 지연으로 인한 일관성 손실(CAP: AP) 가능

🛡️ 3. Redis Sentinel – 고가용성 구성의 핵심

Redis Sentinel은 Master의 상태를 감시하고, 장애 발생 시
자동으로 Slave를 승격하여 새로운 Master로 전환해주는 구성입니다.

📌 구조 예시

       [Sentinel1]
       [Sentinel2]
       [Sentinel3] ← quorum 구성
            ↓
     ┌──────────┐
     │ Master   │ ← 쓰기
     └──────────┘
        ↓     ↓
    [Slave1][Slave2] ← 읽기

✅ 기능 요약

기능설명
모니터링Master에 하트비트 전송
자동 장애 감지Master 응답 없으면 Failover
Slave 승격새 Master로 전환, 나머지 Slave는 새 Master 복제
클라이언트 알림새 Master 정보 전파

⚠️ 주의사항

  • quorum, down-after-milliseconds 등 정확한 설정이 중요
  • Split Brain 방지 필요
  • 클라이언트 라이브러리도 Sentinel-aware 해야 함

🌐 4. Redis Cluster – 수평 확장 + 고가용성

Redis Cluster는 데이터를 샤딩(분산 저장) 하여
수평 확장성과 이중화를 모두 지원하는 고급 구성입니다.

📌 구조 예시

    ┌─────────────┐
    │  Master A   │────┐
    └─────────────┘    │
                        ▼
    ┌─────────────┐   [Replica A]
    │  Master B   │────┘
    └─────────────┘
           :
    (총 16384개의 해시 슬롯 분산 저장)

✅ 특징

항목설명
데이터 샤딩key hash를 기반으로 해시 슬롯 분산
Master-Slave 이중화각 Master마다 Replica 존재
자동 장애 전환특정 Master가 죽으면 Replica가 승격

⚠️ 제약사항

  • 키 기반 분산 → 멀티 키 연산 제한
  • 클라이언트가 Cluster-aware 해야 함 (JedisCluster, Lettuce 등)
  • 관리 복잡도 증가

⚖️ 5. 구성 비교 요약

구성설명고가용성확장성
단일 Redis기본 구성
ReplicationMaster-Slave❌ (수동 전환)✅ (읽기 분산)
Sentinel자동 장애 감지 + 승격
Cluster샤딩 + 자동 장애 전환✅ (수평 확장)

✅ 6. 요약

Redis는 기본적으로 빠르지만 단일 장애점(SPOF)에 취약합니다.
실무에서는 Sentinel 또는 Cluster를 통해 고가용성 설계를 해야 합니다.

💡 키포인트 요약

  • Replication: 읽기 부하 분산, 수동 장애 전환
  • Sentinel: 자동 감시 + 장애 복구 → AP 시스템 특성
  • Cluster: 분산 + 이중화 → 대규모 서비스에 적합

0개의 댓글