2016-07-26 9 views
0

안녕하세요 스택 커뮤니티,Redis Sentinel, 다중 마스터 넷츠 플라이 후 2 마스터

특정 문제의 경우 Redis sentinel에 대한 질문이 있습니다. AWS를 Multi AZ와 함께 사용하여 sensu 클러스터를 만듭니다.

eu-central-1a에는 sensu + redis (M), RBMQ + Sentinel 및 기타 2 명의 Sentinels가 있습니다. eu-central-1b에도 동일하지만 redis는이 AZ의 노예입니다.

문제가 있고 eu-central-1a가 eu-central-1b와 통신 할 수없는 경우 어떻게됩니까? 내 생각에, eu-central-1b의 Sentinel은 나의 redis 마스터에게 연락 할 수 없기 때문에, 나의 redis 노예를 마스터하도록 권장해야합니다. 그래서 나는 2 명의 다른 AZ에서 함께 달리는 2 명의 redis 마스터를 가져야한다.

하지만 링크가 AZ 사이에서 검색 될 때 나는 여전히 2 개의 다른 데이터가있는 2 개의 마스터를 갖습니다. 이 경우 어떻게됩니까? 하나의 마스터가 슬레이브가되고 데이터가 손실없이 복제됩니다. 주인을 다시 시작해야합니까? 그는 노예가 될 것입니까? 마스터가 다운 새로운 노예가 선출 도달 할 수없는 경우

답변

0

센티넬은

예를

의 마스터에 대한 변경 사항을 감지합니다. 이것은 quorum을 기반으로합니다. 여러 명의 센티넬이 마스터가 다운 된 것에 동의합니다. 그런 다음 failover이 발생합니다.

일단 전리품이 주인을 찾으면 온라인으로 돌아옵니다. 그러면 나는 슬레이브입니다. 따라서 새로운 주인은 계속 믿습니다. 피할 수없는 마스터에서 새로운 마스터로의 전환시 데이터가 손실됩니다.

연결이 느슨하면 예기치 못한 경고가 제대로 작동하지 않으므로 여러 명의 경고 신호가 전달되어 마스터 재 지정이 작동하지 않는다고 동의하게됩니다. 2 센티넬 시스템에서 센티널을 사용해서는 안됩니다.

기본 솔루션은 다른 서버에 여분의 감시를 설치하는 것입니다. 클라이언트/응용 프로그램 서버가 실행 중이 아닌 경우이 방법을 사용하면 quorum을 사용할 수 있으며 감시 서버가 다운 된 것에 동의합니다.