Once in a Lifetime

02. Redis - 복제(Replication) 구성 본문

Develope Diary

02. Redis - 복제(Replication) 구성

riceworld 2016. 2. 11. 11:15

이번 포스트는 Redis 의 복제(Replication) 구성에 대해서 알아보도록 하겠습니다.


지난 포스트 01. Redis - Master/Slave 설치 에서 우리는 1대의 읽기/쓰기용 Master 와 2대의 읽기 전용 Slave 서버를 설치 했습니다.


Master 에 쓰기 요청을 한뒤, 동기화 설정(초)에 따라 Slave 에 Master 에 요청된 동일한 키/값이 Slave 로 동기화 되는 복제방식 입니다.


Slave 서버의 Redis 설정파일을 수정 합니다.


nano /etc/redis.conf


- 동기화 할 Master 서버의 아이피 (xxx.xx.xx.xxx 는 Master 서버의 아이피, 6379 는 Master 서버의 Redis 포트)

slaveof xxx.xx.xx.xxx 6379


- Master 서버와 동기화 주기(초)

repl-ping-slave-period 10


- 타임아웃 설정(초)

repl-timeout 60


- ReadOnly 설정 (Slave의 경우 ReadOnly)

slave-read-only yes


설정 파일 저장후 서비스 재기동


systemctl restart redis.service


복제 구성을 확인 합니다.


redis-cli


- Master 확인 (xxx.xx.xx.xxx 는 Slave 서버의 아이피)

127.0.0.1:6379> AUTH mypassword

127.0.0.1:6379> info replication

role:master

connected_slaves:2

slave0:ip=xxx.xx.xx.xxx,port=6379,state=online,offset=1457,lag=1

slave1:ip=xxx.xx.xx.xxx,port=6379,state=online,offset=1457,lag=0


- Slave 확인

127.0.0.1:6379> AUTH mypassword

127.0.0.1:6379> info replication

role:slave


복제 동작을 확인 합니다.

Master 서버에 키값을 입력해 봅니다.

127.0.0.1:6379> set repl-test ok

OK


Slave 서버에서 제대로 복제가 되었는지 확인 합니다.

127.0.0.1:6379> get repl-test

"ok"


복제 구성을 마쳤습니다.

다음 포스팅에서는 Sentinel 을 구성하고, Sentinel 을 통한 FailOver 에 대해서 알아보겠습니다.

Comments