-
[공식 문서 훑어보기] 3. Redis 기초 - 다운 타임 최소화Redis 2025. 4. 28. 22:45728x90반응형
Upgrading or restarting a Redis instance without downtime
이 글에서는 Redis 인스턴스를 재시작하거나 업그레이드하는 상황에서 데이터 정합성을 유지하고 다운타임을 최소화하는 방법을 공식문서 토대로 설명합니다.
하지만 이는 무중단 배포가 아니라 Redis 인스턴스를 재시작해야 하는 상황에서 유용하며 Docker 환경을 기준으로 설명합니다.
시나리오: Redis 6버전을 7버전으로 업그레이드
1. Primary 서버 실행
먼저 Redis 6 버전을 실행합니다.
Docker를 사용하여 Redis 인스턴스를 설정합니다.
docker run -d \ --name redis-master \ -p 6379:6379 \ redis:6 \ redis-server --maxmemory 512mb --maxmemory-policy allkeys-lru이후 Primary 서버의 IP를 확인합니다.
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-masterRedis 6버전의 CLI에 접속하여 임시 데이터를 추가합니다.
docker exec -it redis-master redis-cli set user:1 "spring" set user:2 "redis"2. Replica 서버 실행
이제 Redis 7버전을 실행하여 새로 설정할 Replica 서버를 준비합니다.
docker run -d \ --name redis-replica \ -p 6380:6379 \ redis:7 \ redis-server --maxmemory 512mb --maxmemory-policy allkeys-lruReplica 서버에 접속하여 다음 단계로 넘어갑니다.
docker exec -it redis-replica redis-cli3. Replica 서버에서 Primary 서버 복제
Replica 서버가 Primary 서버를 복제하도록 설정합니다.
복제할 Primary 서버의 IP와 포트를 지정하면 Primary 서버에서 메모리 내에서 Full Sync가 발생하며 복제합니다.
replicaof 173.17.0.2 6379복제 상태가 정상적으로 완료되었는지 확인합니다.
Primary 서버에서는 connected_slave 값이 1로 표시되어야 하고 Replica 서버에서는 master_link_status:up이 표시되면 복제가 완료된 것입니다.
info replication4. Replica 서버의 Read-Only 설정 해제
기본적으로 Slave는 Read-Only 모드로 설정되어 있습니다.
이를 해제하여 쓰기 작업을 가능하게 만듭니다.
config set replica-read-only no5. Primary 서버 중단
Primary 서버를 잠시 중단합니다.
이는 데이터 정합성을 유지하기 위함이며 약 5초 정도 중단하고 그 동안 데이터를 동기화할 시간을 확보합니다.
client pause 50005. Replica 서버 승격
이제 더 이상 복제 서버가 아닌 독립적인 Redis 서버로 승격시킵니다.
이를 위해 REPLICAOF NO ONE 명령어를 실행합니다.
REPLICAOF NO ONE6. 기존 Primary 서버 종료
마지막으로 기존 Primary 서버를 종료합니다.
이제 Replica 서버는 완전히 업그레이드된 Redis 7 버전으로 동작하며 데이터 복제도 완료되었습니다.
이로써 다운타임을 최소화 하 Redis 업그레이드가 완료되었습니다.
728x90반응형'Redis' 카테고리의 다른 글
[공식 문서 훑어보기] 5. Redis Persistence RDB? AOF? 장단점 알아보기 (0) 2025.05.05 [공식 문서 훑어보기] 4. Redis 기초 실무 팁 (0) 2025.04.29 [공식 문서 훑어보기] 2. Redis 기초 관리 - Replication (0) 2025.04.27 [공식 문서 훑어보기] 1. Redis 기초 관리 - Linux, Memory (1) 2025.04.27 [Redis 파먹기] 개념 및 자료 구조 (1) 2025.04.24