본문 바로가기
redis

redis.conf

by 킹차니 2023. 2. 10.

Replication은 레디스의 데이터를 거의 실시간으로 다른 레디스 노드에 복사하는 작업.

따라서 서비스를 제공 중이던 레디스 노드(마스터)가 다운되더라도, 데이터를 받은 레디스 노드(슬레이브)가 서비스를 계속 할 수 있다.

실제 운영 환경이라면 마스터-복제(슬레이브)로 구성하는 것이 권장되며, 마스터와 복제는 물리적으로 다른 머신에 두어야 합니다.

레디스는 비동기(asynchronous) 복제를 하며, 마스터는 복제(슬레이브)를 여러 개 둘 수 있고, 복제는 또 여러 복제를 둘 수 있다.

이처럼 레디스는 첫 번째 노드를 마스터 노드라고 하고, 두 번째 노드를 복제(replica)라고 한다.

 

이처럼 마스터, 복제노드의 구성은 매우 간단하게 가능하다. 복제서버의 redis.conf 파일에# replicaof <masterip> <masterport> " 와 같은 부분이 있다. 해당 부분의 주석을 지우고, 마스터 노드의 IP와 PORT를 넣으면 된다. 이렇게 하면 마스터에 데이터를 입력한 뒤, 복제에서 조회하면 데이터가 조회된다. ( 레디스 2.6부터는 복제 서버는 쓰기가 불가능하다. 물론 이것은 redis.conf파일의 replica-read-only를 수정함으로써 변경이 가능하긴 하다.)

 

https://buildatscale.tech/redis-replication/