Sentinel의 핵심 아키텍처
Redis Sentinel은 마스터-레플리카 구조에서 마스터 장애를 자동으로 감지하고 레플리카를 새로운 마스터로 승격시키는 분산 시스템입니다. 최소 3개의 독립적인 Sentinel 인스턴스가 협력하여 작동하며, 각 Sentinel은 모니터링, 알림, 자동 페일오버, 설정 제공의 4가지 역할을 수행합니다.
실무 배포 기준
프로덕션 환경에서는 반드시 3개 이상의 Sentinel을 서로 다른 장애 도메인(물리 서버, 랙, 가용 영역)에 배치해야 합니다. 2개의 Sentinel만으로는 장애 시 과반수에 도달할 수 없어 페일오버 불가능 상태에 빠집니다. 쿼럼(quorum)은 장애 감지에 필요한 Sentinel 수를 정의하고, 실제 페일오버 수행에는 전체 Sentinel의 과반수 승인이 필수입니다.
장애 감지 메커니즘
각 Sentinel은 1초마다 PING 명령으로 모니터링 대상을 확인합니다. 설정된 타임아웃 시간 내 응답이 없으면 주관적 장애(SDOWN)로 표시하고, 쿼럼 수의 Sentinel이 동의할 때 객관적 장애(ODOWN)로 승격됩니다. ODOWN 상태에서만 페일오버가 시작되며, 리더 선출을 통해 한 Sentinel만 페일오버를 실행합니다.