-
redis centinel이란 무엇이며, 설정방법데이터베이스/redis 2024. 10. 1. 08:32728x90반응형
Redis Sentinel은 Redis 클러스터의 고가용성을 보장하기 위해 사용하는 시스템입니다. Redis Sentinel은 Redis 인스턴스의 모니터링, 장애 감지, 자동 장애 조치(failover) 및 클러스터의 구성을 관리하는 역할을 합니다. 이를 통해 Redis 서버에 문제가 발생했을 때, Sentinel이 이를 감지하고 자동으로 마스터 Redis 인스턴스를 교체하여 서비스 중단을 최소화할 수 있습니다.
Redis Sentinel의 주요 기능:
- 모니터링: Sentinel은 Redis 마스터와 슬레이브 인스턴스를 지속적으로 모니터링하여 인스턴스가 정상적으로 동작하는지 확인합니다.
- 장애 감지: 마스터가 응답하지 않을 경우, Sentinel은 이를 감지하고 해당 인스턴스를 장애 상태로 판단합니다.
- 자동 장애 조치 (Failover): Sentinel은 마스터가 다운되면 슬레이브 중 하나를 새로운 마스터로 승격시키고, 다른 슬레이브들은 새 마스터를 따르도록 재구성합니다.
- 구성 관리: Sentinel은 클라이언트에게 새로운 마스터 인스턴스의 위치를 알려주는 역할을 합니다.
Redis Sentinel 구성 예제:
1. 기본 Redis 구성 파일 (redis.conf)
먼저, 기본 Redis 서버 설정 파일을 확인합니다. 예를 들어, redis-master.conf와 redis-slave.conf를 사용하여 마스터와 슬레이브 Redis 인스턴스를 설정합니다.
redis-master.conf (마스터 설정):
port 6379 bind 0.0.0.0 protected-mode no dir "/var/lib/redis" logfile "/var/log/redis/redis-master.log" dbfilename dump.rdb appendonly yes
redis-slave.conf (슬레이브 설정):
port 6380 bind 0.0.0.0 protected-mode no dir "/var/lib/redis" logfile "/var/log/redis/redis-slave.log" dbfilename dump.rdb appendonly yes slaveof 127.0.0.1 6379
2. Redis Sentinel 설정 파일 (sentinel.conf)
Sentinel 설정 파일은 Redis Sentinel이 Redis 마스터와 슬레이브 인스턴스를 모니터링하고 관리할 수 있도록 설정합니다.
port 26379 dir "/tmp" logfile "/var/log/redis/sentinel.log" sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 60000 sentinel parallel-syncs mymaster 1
- sentinel monitor mymaster 127.0.0.1 6379 2는 Sentinel이 127.0.0.1의 6379 포트에서 동작 중인 Redis 인스턴스를 모니터링하며, 이 인스턴스가 마스터임을 정의합니다. 마지막의 숫자 2는 이 마스터가 장애로 간주되기 위해 최소 몇 개의 Sentinel 인스턴스가 해당 상태를 확인해야 하는지를 나타냅니다.
- sentinel down-after-milliseconds mymaster 5000은 마스터가 5초 동안 응답하지 않으면 다운된 것으로 간주합니다.
- sentinel failover-timeout mymaster 60000은 장애 조치가 완료될 때까지 최대 60초를 대기합니다.
3. Redis 및 Sentinel 실행
각 구성 파일에 맞춰 Redis 인스턴스와 Sentinel을 실행합니다.
- Redis 마스터 실행:
redis-server redis-master.conf
Redis 슬레이브 실행:
redis-server redis-slave.conf
Redis Sentinel 실행:
redis-sentinel sentinel.conf
4. Sentinel 동작 확인
Redis Sentinel이 제대로 동작하면 마스터가 다운될 때 자동으로 슬레이브를 마스터로 승격시키고, 클라이언트가 이를 통해 장애 조치가 이루어진 것을 확인할 수 있습니다.
이와 같은 설정을 통해 Redis Sentinel은 Redis 클러스터의 고가용성을 관리하며, 마스터 장애 시 자동으로 복구가 가능합니다.
728x90반응형