복붙노트

[REDIS] 다른 시스템에 레디 스 복제 사용 (멀티 마스터)

REDIS

다른 시스템에 레디 스 복제 사용 (멀티 마스터)

내 응용 프로그램에서 분산 캐시로 레디 스를 사용하고 싶습니다. 요구 중 하나는 내가 한 장소와 다른 곳에서 또 다른 하나 개의 데이터 센터를 가지고 활성 활성 가용성 의미를 가지고있다. 뿐만 아니라 두 번째 사이트에 마스터를 가지고 - 하나 개의 데이터 센터가 실패하면 내 사용자가 아무 것도 느낄하고 두 번째 사이트에서 첫 번째 데이터 센터에서 모든 데이터를 가질 수있을 작업을 계속하고 싶다. 그것은 수 있습니까?

해결법

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

    1.당신은 액티브 - 액티브, 일명, 멀티 마스터, 솔루션을 요구하고 있지만 문제는 당신이 그것을 필요로하지 않을 수 있습니다 제안합니다.

    당신은 액티브 - 액티브, 일명, 멀티 마스터, 솔루션을 요구하고 있지만 문제는 당신이 그것을 필요로하지 않을 수 있습니다 제안합니다.

    당신은 단지 데이터베이스 중 하나가 쓰기에 사용할 수 있도록 필요한 경우, 모든 쓰기는 항상 이동 즉, 당신은 레디 스의 표준 마스터 - 슬레이브 복제와 그것을 달성 할 수있다. 쓰기 작업에 대한 마스터를 사용하는 응용 프로그램을 직접 (잠재적으로) 당신의 노예가 아니라 일부를 읽어 역할을한다. 마스터가 실패하면 새 마스터가되도록 2ndary DC에서 노예를 촉진하고 그것을 사용하는 응용 프로그램 / 클라이언트를 리디렉션합니다. 모니터링 및 레디 스 '센티넬 달성 할 수 홍보.

    당신은 설정의이 유형을 구현할 때 고려해야 할 것 몇 가지가있다. 레디 스 '복제가 마스터의 부하에 따라 너무 비동기 첫 번째 노트는 쓰기의 볼륨과 복제의 네트워크 링크 품질, 당신은 장애 조치의 경우 최근 업데이트의 일부를 잃어 버릴 수 있습니다. 둘째, 같은 주제에, 간 DC 네트워크 링크는 제한된 대역폭을하는 경향이하고 대기 시간이 증가 할 수 - 당신이 처리 아마도 트래픽에 대한 압축을 사용하는 레디 스를 구성해야합니다 (예를 들어를 통해 SSH 터널). 마지막으로, 당신은 다른 위치에 적어도 3 센티넬을 할 수 있습니다 오류를 감지 정확합니다. 그러나 이러한 문제에도 불구하고, 그게 다 해 드리겠습니다.

    즉 쓰기 임의로 모든 데이터베이스에 대해 수행 할 수있는 멀티 마스터 설정이 순간 레디 스에서 지원하지 않는 말했다. 그 사실은 당신이 필요로하는 무슨 경우 다른 솔루션을 사용하는 것이 좋습니다.

    참고 : 다른 DC가 (즉, 각 DC는 다른 DC에 의해 공유 아니에요 키의 별개의 부분 집합에 쓰기를 얻는다) 상호 배타적에 당신이 쓰기를 보장 할 수있는 경우에, 당신의 정확한 요구 사항에 따라, 당신은 마스터와 두 개의 데이터베이스를 사용할 수 있습니다 각 DC와 다른 하나의 슬레이브있다.

  2. from https://stackoverflow.com/questions/27232522/using-redis-replication-on-different-machines-multi-master by cc-by-sa and MIT license