DB

[Redis] Redis Sentinel

Raconer 2024. 3. 10. 16:57
728x90

🛡️ Redis Sentinel


✅ 개요

Redis Sentinel은 Redis의 고가용성(HA) 을 보장하기 위한 관리 시스템입니다.

  • Master 노드에 장애 발생 시 → 자동으로 Replica 노드를 Master로 승격
  • Redis Master/Replica 구조에서 장애 감지, 알림, 자동 복구, 클라이언트 리다이렉션 등의 기능 수행

🔁 Redis Sentinel 주요 기능

기능 설명
모니터링 Master와 Replica의 상태를 지속적으로 감시
알림 장애 탐지 시 관리자에게 알림 전송
자동 장애 복구 Master 다운 시 Replica를 Master로 승격 (Failover)
환경 설정 제공 Sentinel 구성 정보를 클라이언트에게 제공 (Master 주소 등)

🧭 구성 구조

Redis Sentinel 구성 예시

  • Sentinel 노드 최소 3개 이상 구성
    • 장애 조치를 위한 Quorum(정족수) 를 만족시켜야 failover가 발생함
  • Sentinel들은 서로 연결되어 Master/Replica 상태를 공유함
  • 클라이언트는 Sentinel을 통해 항상 현재 Master 주소를 얻어야 함

⚖️ Sentinel의 Down 판단 방식

구분 설명
SDOWN Sentinel 1대가 master의 장애를 감지한 상태 (주관적 판단)
ODOWN 여러 Sentinel이 동시에 장애를 감지하고 정족수(Quorum) 이상이 됨 → Failover 트리거

ODOWN 상태가 되어야만 실제 Failover가 실행


💡 Quorum이란?

  • Sentinel 간의 투표를 통해 장애 판단을 수행
  • Quorum 수 이상의 Sentinel이 동시에 Master를 SDOWN으로 판단해야 → ODOWN 전환 및 failover

🗺️ 클라이언트와 Sentinel

  • 클라이언트는 Sentinel을 통해 현재 Master Redis의 주소를 동적으로 조회
  • Redis 클러스터 환경에서 IP나 포트 변경이 생겨도 자동으로 대응 가능

📌 실제 구성도

Redis Sentinel 실제 구성도

Sentinel 노드가 서로 연결되어 Redis 인스턴스를 모니터링하고 장애 발생 시 자동 복구 수행

728x90