Redis SENTINEL PARALLEL-SYNCS

<< FAILOVER-TIMEOUT NOTIFICATION-SCRIPT >>

Redis SENTINEL PARALLEL-SYNCS Parameter

이것은 장애조치 6단계 중 5단계(클론들이 새 마스터에서 데이터를 받도록 SLAVEOF 명령 수행)에서 동시에 몇 개의 클론에 "slaveof" 명령을 수행할지 정하는 파라이터이다.   디폴트는 1이다.   1이면 한 번에 하나의 슬레이브에 명령을 실행하고 완료되면 다음 슬레이브에 명령을 수행한다.   센티널은 자신이 블로킹(blocking)되지 않게하려고 명령을 비동기(async)로 실행한다.   만약 이 기능이 없다면 여러 슬레이브가 동시에 새 마스터에 데이터 전체 동기(Full resync)를 요청할 것이다.   이 기능(파라미터)이 있기 때문에 아래 로그에서 보는 것처럼 슬레이브 하나씩 slaveof 명령을 보내고(sent), 데이터를 받는 중임을 확인(inprog)하고, 완료(done)되는 것이다.

13:19:20.671 * +slave-reconf-sent slave 127.0.0.1:7123 127.0.0.1 7123 @ Xmaster 127.0.0.1 7124
13:19:21.688 * +slave-reconf-inprog slave 127.0.0.1:7123 127.0.0.1 7123 @ Xmaster 127.0.0.1 7124
13:19:22.723 * +slave-reconf-done slave 127.0.0.1:7123 127.0.0.1 7123 @ Xmaster 127.0.0.1 7124
13:19:22.780 * +slave-reconf-sent slave 127.0.0.1:7125 127.0.0.1 7125 @ Xmaster 127.0.0.1 7124
13:19:23.786 * +slave-reconf-inprog slave 127.0.0.1:7125 127.0.0.1 7125 @ Xmaster 127.0.0.1 7124
13:19:24.817 * +slave-reconf-done slave 127.0.0.1:7125 127.0.0.1 7125 @ Xmaster 127.0.0.1 7124

사용법

Syntax: sentinel parallel-syncs <master-name> <numslaves>
sentinel.conf 파일: sentinel parallel-syncs master-name 1

  • 존재하지 않는 master-name을 지정했을 경우:
    *** FATAL CONFIG FILE ERROR ***     "No such master with specified name."
  • sentinel.conf 파일에서 0 또는 음수를 지정했을 경우:
    에러가 발생하지 않는다. 하지만 이렇게 했을 경우 장애조치 시 센티널이 클론들에게 새 마스터에 대해서 SLAVEOF 명령을 실행하지 못하게 된다.   그래서 클론들은 이미 다운된 예전 마스터를 바라보고 있게 된다.   따라서 0 또는 음수를 지정하면 안된다.
    소스: sentinel.conf 파일을 load하는 곳에서 아래 sentinel set 명령처럼 확인하는 절차를 추가해야 한다.
  • sentinel set 명령으로 0 또는 음수를 지정했을 경우: 아래와 같은 에러를 발생 시킨다.
    (error) ERR Invalid argument '0' for SENTINEL SET 'parallel-syncs'

파라미터

  • 이 파라미터는 version 2.8.0 부터 사용할 수 있습니다.

문서 정보

  • 이 문서는 버전 3.2.8을 기준으로 만들었습니다.


<< FAILOVER-TIMEOUT PARALLEL-SYNCS NOTIFICATION-SCRIPT >>

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

Email 返事がかかってなれば、メールでお知らせします。