Redis SLAVEOF Parameter

<< RDB-SAVE-INCREMENTAL-FSYNC SLAVE-READ-ONLY >>

Redis slaveof parameter

레디스 설정 파일인 redis.conf 에 있는 slaveof 파라미터에 대한 설명입니다.  

설명

마스터-슬레이브 복제(replication)은 레디스 마스터 서버의 데이터를 실시간 슬레이브 서버로 복사하는 것이다.   레디스 복제는 비동기 방식이다.   슬레이브 서버에 저장 여부와 관계없이 마스터에는 저장된다.   하지만 슬레이브에 저장되지 못하면 마스터 서버에도 저장하지 못하게 하는 기능도 있다.  
최소한 몇 개의 슬레이브 서버에 저장되어야 마스터 서버가 데이터를 계속 받아 들일지 정하는 min-slaves-to-write 파라미터는 있다.   Snapshotting에서 RDB 파일 저장이 실패하면 레디스 서버가 데이터를 계속 받아 들일지 여부를 정하는 stop-writes-on-bgsave-error 파라미터와 같은 역할을 한다.   이런 기능은 다른 DBMS도 있다. 예를 들어 오라클은 아카이브 로그를 저장하지 못하면 오라클이 멈춘다.   레디스는 복제가 비동기 방식이긴 하지만 설정에 따라 거의 완벽한 복제가 가능한다.

마스터 서버에 데이터가 입력될때마다 계속 슬레이브 서버로 전송되어 복제가 이루어지는데, 네크워크 링크가 잠시 동안(단 몇 초라도) 끊어 졌다가 다시 연결되었을때, 2.8 이전 버전에서는 마스터 서버의 데이터 전체를 슬레이브로 동기화 한 후에 정상적인 동기화를 합니다.   전체 동기화(Full Resynchronization)라고 합니다.   2.8 버전 부터는 부분 동기화(Partial Resynchronization)가 가능해서 단절되면 마스터 서버의 버퍼에 저장했다가 다시 연결되면 버퍼에 저장된 데이터를 동기화한다.   버퍼 사이즈는 repl-backlog-size 파라미터로 설정하고 기본 값이 1mb 이다.

복제는 설정해 놓으면 자동으로 된다. 만약 네트워크가 오랫동안 단절되었거나, 슬레이브 서버가 다시 시작했다면 레디스 서버가 자동으로 전체 동기화(Full Resynchronization)를 한 후에 동기화를 계속 진행한다.  
복제에 대한 자세한 내용은 여기를 보세요.
설정은 slaveof masterip masterport를 입력한다.

사용 방법

slaveof <masterip> <masterport>
slaveof 127.0.0.1 5001



<< RDB-SAVE-INCREMENTAL-FSYNC SLAVEOF SLAVE-READ-ONLY >>

질문하거나 댓글을 보려면 클릭하세요.  댓글수 :    조회수 :

Email 답글이 올라오면 이메일로 알려드리겠습니다.