복붙노트

[REDIS] 클러스터 장애 조치

REDIS

클러스터 장애 조치

내가 클러스터 장애 조치에 대해 매우 분명 뭔가를 부탁 해요 알고있다.

나는 어떤 마스터 클러스터 노드가 실패 할 경우 슬레이브가 담당 데리고 올 때까지 다른 마스터 노드에 영향을 미칠 것으로 redis.io에 읽었다. 내 구조에서, 나는 어떤 노예를 정의하고 있지 않다 단지 3 개 마스터 작업.

나는 배반 서버를 제거하고 다른 2 개 노드 클러스터를 시작합니다 레디 스-trib.rb 파일을 수정할 생각 해요. 나는 몇 가지에 대해 혼동하고있어

1) Resharding

클러스터를 만들 2) 최소 3 노드 제한

3)에 자동 방법 라이브 노드가 새로운 구조를 재 - 만들기

난 그냥 :) 관리 작업을 최소화하기 위해 노력하고있어. 그렇지 않으면 나는 여기에 몇 가지 다른 알고리즘 "데이터 일관성"을 구현해야합니다.

너희들의 모든 솔루션이나 아이디어, 친절 공유가있는 경우.

감사, 산 제이 Mohnani

해결법

  1. ==============================

    1.노드가 실패 할 경우에만 마스터 노드 클러스터에서, 데이터가 손실됩니다. 이 실패한 노드의 데이터 (해시 슬롯) 밖으로 이주 할 수 없기 때문에 이에 resharding 더는 불가능하다.

    노드가 실패 할 경우에만 마스터 노드 클러스터에서, 데이터가 손실됩니다. 이 실패한 노드의 데이터 (해시 슬롯) 밖으로 이주 할 수 없기 때문에 이에 resharding 더는 불가능하다.

    마스터가 실패 할 때 클러스터 작업을 계속하려면 노드 (마스터 당 하나) 슬레이브 필요가있다. 이러한 방식으로, 마스터가 실패 할 때, 그 슬레이브 장애는 (데이터의 카피와 같은 새로운 마스터가된다).

    레디 스 - trib.rb 스크립트는 클러스터 크기 (적어도 하나 개의 노드)이 될 수 있지만 레디 스 클러스터에, 3 개 미만 마스터와 클러스터 생성을 처리하지 않습니다.

    따라서 슬레이브 노드를 추가하는 문제에 대한 자동 솔루션으로 간주 될 수있다.

  2. from https://stackoverflow.com/questions/23343449/cluster-failover by cc-by-sa and MIT license