>  기사  >  데이터 베이스  >  Redis의 고가용성을 보장하는 방법

Redis의 고가용성을 보장하는 방법

(*-*)浩
(*-*)浩원래의
2019-11-20 14:49:503288검색

Redis의 고가용성을 보장하는 방법

redis 고가용성: 마스터-슬레이브 아키텍처를 배포하는 경우 센티널만 추가하면 됩니다. 인스턴스가 다운되면 활성/대기 전환이 자동으로 발생합니다. 에디토리얼 >     🎜#마스터 및 슬레이브 사용 복제 구현 후 메인 서버를 모니터링하려는 경우 "센티넬" 메커니즘이 제공됩니다. redis2.6 이후. 이름에서 알 수 있듯이 sentinel의 의미는 redis 시스템의 실행 상태를 모니터링하는 것입니다. Redis 데이터베이스의 실행 상태를 모니터링하기 위해 여러 센티널을 시작할 수 있습니다. 주요 기능은

a 두 가지입니다. 모든 노드 데이터베이스가 정상적으로 실행되는지 모니터링합니다. b. 마스터 데이터베이스에 장애가 발생하면 투표 메커니즘을 통해 슬레이브 노드에서 새 마스터가 자동으로 선출되어 슬레이브 데이터베이스에서 마스터 데이터베이스로 자동 전환됩니다.

마스터가 하나이고 슬레이브가 여러 개 있는 Redis 시스템에서는 모니터링 작업에 여러 개의 센티널을 사용하여 시스템이 충분히 견고한지 확인할 수 있습니다. 이때 센티널은 마스터 데이터베이스와 슬레이브 데이터베이스를 동시에 모니터링할 뿐만 아니라, 센티널도 서로 모니터링하게 된다. 여기서는 센트리를 3개 이상 배치하고 홀수 개의 센트리를 사용하는 것이 좋습니다.


Redis의 Sentinel 시스템은 여러 Redis 서버를 관리하는 데 사용됩니다. 시스템은 다음 세 가지 작업을 수행합니다.

#🎜🎜 ## 🎜🎜#
Monitoring:

Sentinel은 Master와 Slave가 정상적으로 작동하는지 지속적으로 확인합니다.


알림:

모니터링되는 Redis에 문제가 있는 경우 센티널은 API를 통해 관리자나 다른 애플리케이션에 알림을 보낼 수 있습니다.
자동 장애 조치:

마스터가 정상적으로 작동하지 않으면 센티넬은 자동 장애 조치 작업을 시작하여 장애가 발생한 마스터를 교체합니다. 클라이언트가 실패한 마스터에 연결을 시도하면 클러스터는 새 마스터의 주소도 클라이언트에 반환하므로 실패한 마스터의 다른 슬레이브는 새 마스터를 복사하도록 변경됩니다. 마스터를 사용하십시오. 실패한 마스터를 교체하십시오.

Sentinel은 분산 시스템입니다

. 이러한 프로세스는 가십 프로토콜을 사용하여 마스터가 오프라인인지 여부에 대한 정보를 수신하고 투표를 사용할 수 있습니다. 프로토콜(동의 프로토콜)을 사용하여 자동 오류 마이그레이션 수행 여부와 새로운 마스터로 선택할 슬레이브를 결정합니다.

각 센티널은 다른 센티널에 보고합니다. 마스터, 슬레이브는 정기적으로 메시지를 보내 오류 마이그레이션 여부를 확인합니다. 상대방이 "살아있다"는 것입니다. 상대방이 지정된 시간(구성 가능) 내에 응답하지 않은 것으로 확인되면 상대방은 일시적으로 다운된 것으로 간주됩니다(소위 "주관적으로 고려되는 다운타임"). , sdown이라고 함)

"Sentinel Group"의 대부분의 센티널이 특정 마스터가 응답하지 않았다고 보고하면 시스템은 해당 마스터를 "완전히 죽은" 것으로 간주합니다(예: 객관적인 사실) 다운 머신, Objective Down, odown이라고 함)는 특정 투표 알고리즘을 통해 나머지 슬레이브 노드 중 마스터로 승격될 노드를 선택한 다음 관련 구성을 자동으로 수정합니다.

하지만 sentinel( sentinel) 별도의 실행 파일인 redis-sentinel로 내보내지지만 실제로는 특수 모드로 실행되는 Redis 서버일 뿐입니다. 일반 Redis 서버 시작 시 --sentinel 옵션을 주면 Sentinel을 시작할 수 있습니다.

위 내용은 Redis의 고가용성을 보장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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