권장(무료): redis
Article 디렉터리
Master-slave 복제
마스터-슬레이브 복제 는 하나를 의미합니다. Redis 서버의 데이터는 다른 Redis 서버로 복사되는데, 전자를 메인 노드 Master라고 하고, 후자를 Slave 노드라고 합니다. 일반적으로 Master에서 Slave로 한 방향으로만 복사할 수 있습니다. 마스터는 주로 쓰기 작업을 수행하고 슬레이브는 읽기 작업을 주로 수행하여 읽기와 쓰기를 분리합니다.
Function
- 데이터 이중화: 마스터-슬레이브 복제는 지속성에 추가된 데이터 이중화 방법인 데이터의 핫 백업을 구현합니다.
- 장애 복구: 마스터 노드에 문제가 발생하면 슬레이브 노드가 서비스를 제공하여 신속한 장애 복구를 달성할 수 있습니다. 이는 실제로 일종의 서비스 중복입니다.
- 로드 밸런싱: 읽기-쓰기 분리와 결합된 마스터-슬레이브 복제를 기반으로 마스터 노드는 쓰기 서비스를 제공하고 슬레이브 노드는 읽기 서비스를 제공할 수 있습니다(즉, Redis 데이터를 쓸 때 애플리케이션이 마스터 노드에 연결됩니다) 그리고 Redis 데이터를 읽을 때 애플리케이션은 서버 로드를 공유하기 위해 슬레이브 노드)에 연결합니다. 특히 쓰기가 적고 읽기가 많은 시나리오에서 여러 슬레이브 노드를 통해 읽기 로드를 공유하면 동시성이 크게 향상될 수 있습니다. 레디스 서버.
- 고가용성의 초석: 위의 기능 외에도 마스터-슬레이브 복제는 센티널 및 클러스터 구현의 기초이기도 합니다. 따라서 마스터-슬레이브 복제는 Redis 고가용성의 기초입니다.
Command
Command | Function |
---|---|
slaveof 호스트 포트 | 현재 서버를 지정된 서버의 슬레이브 서버로 변환합니다. 이미 슬레이브인 경우 이전 마스터 서버의 동기화를 중지하고 이전 데이터 세트를 삭제한 후 새 마스터 서버의 동기화를 시작합니다. SLAVEOF NO ONE을 사용하면 슬레이브 서버가 복제 기능을 끄고 슬레이브 서버에서 다시 마스터 서버로 전환하게 됩니다. 원본 동기화 데이터 세트는 삭제되지 않습니다. |
info [section] | INFO 명령은 Redis 서버에 대한 다양한 정보와 통계값을 이해하기 쉽고 읽기 쉬운 형식으로 반환합니다. 선택적 매개변수 section를 제공하면 명령이 정보의 특정 부분만 반환하도록 할 수 있습니다. |
구성
여러 서비스가 포함된 단일 머신을 예로 들어보겠습니다(일반적으로 여러 서비스가 포함된 여러 머신이 있지만 서버는 하나뿐입니다)
우선, 각 Redis 클라이언트는 기본적으로 호스트로 설정됩니다. 정보 복제 명령을 통해 볼 수 있습니다.
이제 하나의 마스터와 두 개의 슬레이브를 시뮬레이션하기 위해 세 개의 클라이언트를 동시에 열어야 하므로 구성을 수정해야 합니다.
먼저 두 개의 구성 파일을 슬레이브 구성으로 복사하세요. 호스트는 기본값을 사용할 수 있습니다.
위의 5개 구성 지점을 순서대로 수정하려면 redis80.conf를 예로 들어 보겠습니다. 81의 경우 처음 4개 지점만 변경됩니다. ㅋㅋㅋ
81에는 구성이 없으며 명령줄을 통해 수동으로 설정할 수 있습니다
현재 View 79(마스터):
복사 원칙
Test
슬레이브는 기본적으로 읽기 전용이며 동기화된 마스터의 데이터를 증분적으로 복사합니다.
호스트가 다운되었습니다.
그림 79와 같이 80의 호스트이고, 80이 81의 호스트입니다. 이는 중첩된 마스터-슬레이브 관계입니다.
Sentinel 모드
위의 80개 상위 및 중첩 마스터-슬레이브는 모두 명령줄에서 수동으로 입력됩니다. 피하는 것이 목적이다 호스트에 문제가 있는 컴퓨터 쓰기 후 작업 기간에는 수동 개입이 필요합니다.
Sentinel은 독립적인 프로세스로 독립적으로 실행됩니다. 원칙은 Sentinel이 명령을 보내고 Redis 서버의 응답을 기다리는 방식으로 실행 중인 여러 Redis 서버를 모니터링한다는 것입니다. Sentinel이 호스트가 오프라인임을 감지하면 새 호스트가 되기 위해 슬레이브 시스템을 선택하여 "업"(자동 오류 마이그레이션)합니다. 원래 호스트가 온라인 상태가 되면 원래 호스트는 새 호스트의 슬레이브가 됩니다. 원칙은 게시 및 구독 모델을 통해 다른 서버에 알리고 구성 파일을 수정하여 호스트를 전환하는 것입니다.
Sentinel이 다운되면 어떻게 해야 하나요? 여러 센티널을 사용하여 서로를 모니터링할 수 있습니다.
사진은 https://www.jianshu.com/p/06ab9daf921d에서 가져왔습니다. 침입 및 삭제
) 자동 장애 조치(failover)를 수행하고 게시 및 구독을 통해 호스트를 전환하도록 다른 서버에 알립니다.
센티넬 구성먼저 설치 디렉터리에 자세한 주석이 달린 센티널 구성이 있습니다.
6379를 모니터링하기 위해 새 sentinel.conf를 만들고 나머지는 기본값으로 설정할 수 있습니다.
센티넬을 시작합니다.
다중 센티널 모드, 여러 포트 구성 파일 구성 Tinel 클라이언트를 사용하고 동일한 패턴을 따릅니다( 게으른
)
위 내용은 Redis는 마스터-슬레이브 복제 및 감시 모드를 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!