일부 노드가 오프라인이거나 클러스터의 대부분의 노드와 통신할 수 없는 경우에도 클러스터가 정상적으로 작동할 수 있도록 하기 위함입니다.
Redis 클러스터는 노드에 대해 마스터-슬레이브 복제 기능을 사용합니다. 클러스터의 각 노드에는 1~N개의 복제본이 있으며, 그 중 하나가 복제본입니다. 마스터입니다. 노드이고 나머지 N-1 복제본은 슬레이브 노드입니다. (추천 학습: Redis 비디오 튜토리얼)
Redis 마스터-슬레이브 복제의 몇 가지 일반적인 방법
하나 마스터, 서번트 A(B,C) 2개 마스터 1개와 슬레이브 2개 슬레이브 노드(A의 슬레이브 노드)
안티 고객 기반(마스터 노드가 다운된 후 슬레이브 노드를 수동으로 업그레이드 마스터 노드) & 센티넬 모드(마스터 노드가 다운된 후 자동으로 슬레이브 노드를 마스터 노드로 업그레이드) )
마스터-슬레이브 복제:1,
redis의 복제 기능은 여러 데이터베이스 간의 데이터 동기화를 지원하는 것입니다. 하나는 마스터 데이터베이스(마스터)이고 다른 하나는 슬레이브 데이터베이스(슬레이브)이며, 쓰기 작업이 발생하면 일반적으로 슬레이브 데이터베이스에 데이터가 동기화됩니다. 읽기 전용이며 마스터 데이터베이스에서 동기화된 데이터를 수신하는 경우 마스터 데이터베이스는 여러 개의 슬레이브 데이터베이스를 가질 수 있고 슬레이브 데이터베이스는 하나의 마스터 데이터베이스만 가질 수 있습니다. 2. Redis의 복제 기능은 데이터베이스 읽기와 쓰기를 효과적으로 분리하고 서버의 로드 용량을 향상시킬 수 있습니다. 마스터 데이터베이스는 주로 쓰기 작업을 수행하고 슬레이브 데이터베이스는 읽기 작업을 담당합니다.
1: 슬레이브 데이터베이스가 시작되면 마스터 데이터베이스에 동기화 명령을 보냅니다.
2: 마스터 데이터베이스가 동기화 명령을 받은 후 저장을 시작합니다. 백그라운드에서 스냅샷을 생성하고(rdb 작업 실행) 저장 중에 받은 명령을 캐시합니다.
3: 스냅샷이 완료되면 redis는 스냅샷 파일과 캐시된 모든 명령을 슬레이브 데이터베이스로 보냅니다.
4: 데이터베이스로부터 받은 후 스냅샷 파일이 로드되고 수신된 캐시된 명령이 실행됩니다
위 내용은 Redis 클러스터의 노드 간 데이터 일관성을 보장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!