인프라/용어

Redis Sentinel 이란?

Jake Seo 2023. 4. 10. 22:40

Redis Sentinel 이란?

  • Redis 설정에 문제가 발생했을 때 모니터링, 알람, 자동 페일 오버를 제공하는 Redis 용 고가용성 솔루션이다.
  • 분산 환경에서 레디스와 함께 동작하도록 설계되었다.
  • 레디스 시스템의 전체적인 상태와 신뢰성을 유지하는데 도움을 준다.

주요 기능

  • 모니터링
  • 알람
  • 자동 페일 오버
  • 구성정보 제공자

모니터링

  • 주기적으로 레디스 인스턴스들의 상태를 확인한다.
  • 가용성, 지연율 그리고 인스턴스의 다른 상태 관련된 수치들에 대한 정보를 수집한다.

알람

  • 마스터나 레플리카 노드에 장애가 발생했을 때 이를 알아챈다.
  • 시스템 관리자나 다른 모니터링 시스템에 장애를 알린다.

자동 장애 극복 (Automatic failover)

  • 마스터 노드에 장애가 발생했을 때 이를 발견하고 장애 극복 (failover) 을 수행한다.
  • 장애 극복 프로세스 중에는 다른 레플리카 (Replica) 가 마스터의 역할을 수행한다.
  • 다른 레플리카들도 새 마스터를 이용할 수 있도록 모든 노드의 설정이 재구성된다.
  • 이 과정이 잘 수행되면 장애가 발생하더라도 마치 정상처럼 Redis 시스템이 동작할 수 있다.

구성정보 제공자 (Configuration Provider)

  • Redis Sentinel 이 Redis Configuration 에 대한 권한의 소스 (source) 가 될 수 있다.
  • 클라이언트는 Redis Sentinel 을 쿼리하여 현재 마스터 노드의 주소를 얻을 수 있다.
    • 이를 통해 장애 조치 후에도 클라이언트가 새 마스터의 주소를 알 수 있다.

Redis Sentinel 을 사용하는 방법

  • Redis 노드를 모니터링할 Redis Sentinel 인스턴스의 클러스터를 설정해야 한다.
    • 이 인스턴스들은 서로 통신하고 모니터링되는 Redis 노드의 상태에 대해 합의하여 장애 조치 및 알림에 대한 결정을 내린다.
  • 일반적인 Redis Sentinel 구성은 적어도 3개의 Sentinel 인스턴스들로 이루어진다.
    • 그래야 장애 극복 조치가 실질적으로 가능하기 때문이다.

요약

  • Redis Sentinel 은 레디스를 위한 고가용성 솔루션이다.
  • 모니터링, 알람, 자동 장애극복 능력을 가지고 있다.
  • 분산된 환경에서 신뢰성과 지속성을 가진 레디스 시스템을 구성하는데에 필수적이다.
반응형