>  기사  >  데이터 베이스  >  Redis 클러스터가 3개보다 많은 이유는 무엇입니까?

Redis 클러스터가 3개보다 많은 이유는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-06-17 14:48:545328검색

3개 이상의 Redisl 클러스터는 결함 판단의 정확성을 높이기 위해 센티넬 노드 수를 늘려 개선됩니다. 리더 선택에는 최소 절반 + 1개 노드가 필요하고 홀수 노드도 가능하기 때문입니다. 이 조건을 충족하기 위해 사용됩니다. 기본적으로 하나의 노드를 저장합니다.

Redis 클러스터가 3개보다 많은 이유는 무엇입니까?

간단히 말하면: redis로 센티넬 노드가 3개 있는 경우 문제가 발생하면 센티널은 즉시 투표소로 이동하며 투표의 절반 이상을 받은 경우에만 오프라인 상태가 됩니다! , 결국 객관적으로 오프라인이 되었기 때문에 3개의 센티넬 노드가 필요합니다. (추천 학습: Redis 비디오 튜토리얼 )

센티넬 모드는 특수 모드입니다. 우선 Redis는 sentinel 명령을 제공합니다. sentinel은 독립적인 프로세스로서 독립적으로 실행됩니다. 원칙은 센티널이 명령을 보내고 Redis 서버의 응답을 기다리는 방식으로 실행 중인 여러 Redis 인스턴스를 모니터링한다는 것입니다.

여기 센트리에는 두 가지 기능이 있습니다

명령을 보내 Redis 서버가 돌아가서 마스터 서버와 서버를 포함한 실행 상태를 모니터링하도록 합니다. 슬레이브 서버 .

Sentinel은 마스터가 다운되었음을 감지하면 자동으로 슬레이브를 마스터로 전환한 다음 게시 및 구독 모드를 통해 다른 슬레이브 서버에 알리고 구성 파일을 수정하여 호스트를 전환하도록 합니다. .

그러나 Sentinel 프로세스가 Redis 서버를 모니터링할 때 문제가 발생할 수 있으므로 모니터링을 위해 여러 개의 Sentinel을 사용할 수 있습니다. 각 센티널도 모니터링되므로 다중 센티널 모드가 형성됩니다.

장애 조치 프로세스를 말로 설명해보세요.

메인 서버가 다운되고 Sentinel 1이 이 결과를 먼저 감지한다고 가정하면 시스템은 즉시 장애 조치 프로세스를 수행하지 않을 것입니다. 이는 단지 Sentinel 1이 메인 서버를 사용할 수 없다고 주관적으로 믿는 것입니다. 주관적인 오프라인이 됩니다. 후속 센티널도 주 서버를 사용할 수 없음을 감지하고 숫자가 특정 값에 도달하면 센티널 간에 투표가 진행됩니다. 투표 결과는 하나의 센티널에 의해 시작되어 장애 조치 작업을 수행합니다. 전환이 성공한 후 각 센티널은 게시-구독 모드를 사용하여 모니터링하는 슬레이브 서버를 호스트로 전환합니다. 이 프로세스를 목표 오프라인이라고 합니다. 이렇게 하면 모든 것이 클라이언트에게 투명해집니다.

Redis 관련 기술 기사를 더 보려면 Redis 데이터베이스 사용 튜토리얼 열을 방문하여 알아보세요!

위 내용은 Redis 클러스터가 3개보다 많은 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.