일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 닷넷
- High Availability
- 센티넬
- ASP.NET
- gitlab
- DSM6
- 커버구루
- NoSQL
- haproxy
- ipod
- AirComic
- 레디스
- replication
- redis
- 기어스 오브 워
- .NET
- iPod Touch
- c#
- XBOX360
- 복제
- 네아로
- mmbot
- DotNetOpenAuth
- sentinel
- Cover Guru
- 고가용성
- Keepalived
- 개발
- Gears of War
- TeamCity
- Today
- Total
Once in a Lifetime
02. Redis - 복제(Replication) 구성 본문
이번 포스트는 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 에 대해서 알아보겠습니다.