찾다
데이터 베이스RedisRedis 감시 모드를 함께 분석해 보겠습니다.

이 글은 Redis에 대한 관련 지식을 제공합니다. 센티넬의 개념, 센티널의 역할, 센티널 활성화, 센티널의 원리 등 센티넬 모드와 관련된 문제를 주로 소개합니다. 모든 사람.

Redis 감시 모드를 함께 분석해 보겠습니다.

추천 학습: Redis Tutorial

Sentinel Mode

1. Sentinel Concept

  • 마스터-다중 슬레이브 구조에서는 마스터가 다운되면 여러 슬레이브 중에서 선택해야 합니다. 새로운 마스터를 생성하려면, 그러한 기능을 완성하려면 Redis의 센티넬 메커니즘을 사용해야 합니다

  • Sentinel(센티넬)은 마스터-슬레이브 구조에서 각 서버를 모니터링하는 데 사용되는 분산 시스템 모니터링 , 오류가 발생하면 투표 메커니즘 을 통해 새 마스터를 선택하고 아래 그림과 같이 모든 슬레이브를 새 마스터에 연결합니다.

    Redis 감시 모드를 함께 분석해 보겠습니다.

2 Sentinel 역할

  • Monitoring : 마스터와 슬레이브 모니터링
    • 마스터와 슬레이브가 정상적으로 실행되는지 지속적으로 확인
    • 마스터 생존 감지, 마스터 및 슬레이브 실행 상태 감지
  • 알림(알림): 문제가 있는 경우 모니터링되는 서버, 다른 센티널 및 Redis 서버에 알림 보내기

  • failover: 다운된 마스터를 슬레이브에서 연결 해제하고, 슬레이브를 마스터로 선택하고, 다른 슬레이브를 새 마스터에 연결하고, 클라이언트에 새 서버를 알립니다. 주소

참고: Sentinel은 모니터링 서비스만 제공하고 데이터 관리 서비스는 제공하지 않는 Redis 서버이기도 합니다. 일반적으로 센티널 수는 홀수로 구성됩니다(투표에 편리함)

3. Sentinels 활성화

  • Sentinel sentinel.conf 구성 파일을 수정합니다. 구성 파일은 아래 그림과 같이 Redis 디렉터리에 있습니다.

    Redis 감시 모드를 함께 분석해 보겠습니다.Redis 감시 모드를 함께 분석해 보겠습니다.
  • 일부 구성의 의미는 아래 그림과 같습니다. :

    Redis 감시 모드를 함께 분석해 보겠습니다.
  • Sentinel 시작

    redis-sentinel filename 
    #filename指的是配置文件名
    #每个哨兵都要配置自己的配置文件
  • Sentinel 구성 및 시작 이후 메인 서버가 다운된 후 투표, 마스터-슬레이브 전환 등의 프로세스를 자동으로수행합니다

4.

Sentinel은 마스터-슬레이브 전환 프로세스 동안 세 단계를 거칩니다.

  • Monitoring
  • Notification
  • Failover

4.1 Monitoring

은 이러한 노드의 상태 정보를 동기화하는 데 사용됩니다. 마스터, 슬레이브, 센트리, 즉 전체 시스템의 모든 서버에 대한 정보를 포함합니다.

주로 완성된 기능:

Redis 감시 모드를 함께 분석해 보겠습니다.

  • 각 센티널의 상태 가져오기(온라인 여부에 관계없이): 새로 추가된 센티널은 시스템의 기존 센티널과 상호 작용해야 합니다.

  • 상태를 가져옵니다. of the master (info 명령을 통해)

    • 얻은 내용은 다음과 같습니다

      1. master属性
      	 runid
      	 role:master
      2. 各个slave在master中保存的基本信息
  • 모든 슬레이브의 상태를 가져옵니다 (info 명령은 마스터에 있는 슬레이브 정보를 기반으로 모든 슬레이브에 전송됩니다)

    • 얻은 내용은 다음과 같습니다

      slave属性
      	runid
      	role:slave
      	master_host、master_port
      	offset

구체적인 내부 동작은 다음과 같습니다.

Redis 감시 모드를 함께 분석해 보겠습니다.

  • Sentinel 1이 마스터에 info 명령을 보낸 후 cmd 연결을 설정합니다. 생성된 연결은 명령을 보내는 데 사용됩니다.
  • cmd 연결을 만든 후에는 지금까지 얻은 모든 정보가 Sentinel 1 측과 반대편에서도 마스터가 보유하고 있는 정보를 저장합니다
  • 그러면 Sentinel 1은 마스터로부터 얻은 고약에 대한 정보를 기반으로 슬레이브에 info 명령을 보내고, 고약 정보를 획득하여 농축합니다. 이렇게 저장된 정보
  • 새 Sentinel 2가 추가되면 Sentinel 2는 마스터에 정보 명령을 보내 cmd 연결을 설정하고, 마스터에 있는 정보를 기반으로 기존 Sentinel 1을 얻어서 저장할 수 있습니다. 그 자체로 얻은 정보. 그런 다음 Sentinel 1이 온라인인지 확인하고 Sentinel 1과 연결을 설정합니다. 두 사람은 서로 정보를 교환하며, 두 당사자는 서로에게 열려 있는지 확인하기 위해 계속 핑을 보냅니다
  • Sentinel 2는 Sentinel 2에서 슬레이브 정보를 얻습니다. 마스터, 그리고 슬레이브로부터 정보를 얻고 저장한 정보를 풍부하게 하세요
  • 센티넬 3을 하나 더 추가하면 마지막으로 세 명의 센티넬이 관계 네트워크를 구축합니다
  • 관계 네트워크에서 세 사람은 이 작업 모드를 publish-subscribe 모드

4.2 알림

알림 단계에서 센티널은 지속적으로 마스터와 슬레이브의 정보를 얻어야 하며, 그 다음에는 서로 정보를 교환하고 전송해야 합니다. 공유된 다양한 센티널 간에 획득된 정보를 전송합니다.

구체적인 프로세스는 다음과 같습니다.

센티넬은 설정된 cmd 연결을 통해 마스터와 슬레이브에게 hello 명령을 보내고 그들의 정보를 얻은 후 관계 네트워크에서 공유합니다. hello 指令,得到他们的信息,然后在关系网中共享:

Redis 감시 모드를 함께 분석해 보겠습니다.

4.3 故障转移

断开宕机的master与slave的连接,选取一个slave作为master,将其他slave连接新的master,并告知客户端新的服务器地址。

具体的流程如下所述:

  • 哨兵1始终得不到master的回应,主观判断master宕机,标记 sdown(仅有一个哨兵认为master宕机)

  • 哨兵1在关系网中传递消息,向其他哨兵发送图中左上角的消息

  • 其他哨兵得到消息之后,全部向master发送消息,确定master是否宕机,他们也会将自己得到的结果发送给关系网中的其他哨兵,确定master宕机后,将标记改为 odown

    Redis 감시 모드를 함께 분석해 보겠습니다.Redis 감시 모드를 함께 분석해 보겠습니다.
  • 4.3 Failover

      슬레이브에서 다운된 마스터의 연결을 끊고 슬레이브를 마스터로 선택한 후 다른 슬레이브를 새 마스터에 연결하고 클라이언트에 새 서버 주소를 알립니다.
    • 구체적인 과정은 다음과 같습니다.
  • Sentinel 1은 마스터로부터 아무런 응답도 받지 못했고, 마스터가 다운되었다고 주관적으로 판단하여 sdown으로 표시했습니다. 마스터가 다운됨)
    • Sentinel 1은 관계 네트워크에서 메시지를 전달하고 그림의 왼쪽 상단에 있는 메시지를 다른 Sentinel에게 보냅니다.
      • 다른 Sentinel이 메시지를 받은 후 모두 Sentinel에게 메시지를 보냅니다. 마스터가 다운되었는지 확인하고, 얻은 결과는 관계 네트워크의 다른 센티널로 전송됩니다. 마스터가 다운되었음을 확인한 후 표시를 odown으로 변경합니다(모든 센티널 이후). 감지하면 센티넬의 절반 이상이 마스터가 다운되었다고 생각합니다)
      • 마스터가 다운된 것으로 판단되면 새로운 마스터를 선출해야 하며 이 작업을 완료할 센티넬은 선거를 통해 결정되어야 합니다. 구체적인 프로세스는 다음과 같습니다.
      • 선거 동안 각 센티널은 한 번의 투표로 인트라넷의 다른 센티널을 선거인으로 알리라는 지시를 내립니다. 이 선거 지침을 발행하면 sentinel3이 신청서를 받은 후 sentinel3이 정당 중 하나에 투표하고 도착 순서에 따라 투표합니다
      • 이에 따라 투표를 한 정당이 더 갖게 됩니다.
      • 이 과정에서 실패가 발생할 수 있습니다. 예를 들어 1차에서 선거가 실패하면 2차와 3차에도 마찬가지입니다. 라운드는 선거가 완료될 때까지 계속됩니다
    • 센티넬 간의 선거가 완료된 후, 다음으로 선거에서 승리한 센티넬은 노예 중 한 명을 선택하여 새로운 마스터로 전환하게 됩니다.
  • 파수꾼이 서버 목록에서 대체 마스터를 선택하는 원칙:

    먼저 제외하고

    를 선택합니다.
    • 온라인이 아닌 OUT

      slaveof no one 指令

    • 向其他slave发送 slaveof 新masterIP端口응답이 느린 OUT

    • 오랜 시간 동안 원래 마스터와 연결이 끊어진 OUT
  • 제외가 종료되고 선택이 시작됩니다
  • 우선순위가 높은 OUT이 선택됩니다

  • 오프셋이 큰 OUT (상대적으로 크다) 원본 마스터가 동기화된 데이터가 가장 많다는 의미)

아직 선택하지 않은 경우에는 runid를 기준으로 최종 선택됩니다.

새 마스터 선택 후 , 센티넬은 서버에 다음 명령을 보냅니다.

  1. 새 마스터에게 slaveof no one 명령 보내기
  2. slaveof new masterIP port 명령
  3. 보내기
다른 슬레이브에게 알리고 다른 보초에게도 새 마스터가 누구인지 알려줍니다.

🎜5. 요약🎜🎜🎜모니터링 단계: 정보 동기화 🎜🎜알림 단계: 연결 유지 🎜🎜장애 조치 단계: 🎜🎜🎜Sentinel이 문제는 주관적인 오프라인과 객관적인 오프라인을 차례로 표시🎜🎜책임 파수꾼을 선출합니다🎜 🎜새 마스터를 선호합니다🎜🎜새 마스터가 취임하면 다른 슬레이브는 새 마스터에 연결되고, 🎜원래 마스터가 복원된 후 새 마스터에 연결됩니다. 노예로서의 주인🎜🎜🎜🎜추천 학습: 🎜Redis 비디오 튜토리얼🎜🎜

위 내용은 Redis 감시 모드를 함께 분석해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Redis : 기능과 기능을 탐색합니다Redis : 기능과 기능을 탐색합니다Apr 19, 2025 am 12:04 AM

Redis는 고속, 다양성 및 풍부한 데이터 구조로 인해 두드러집니다. 1) Redis는 문자열, 목록, 컬렉션, 해시 및 주문 컬렉션과 같은 데이터 구조를 지원합니다. 2) 메모리를 통해 데이터를 저장하고 RDB 및 AOF 지속성을 지원합니다. 3) Redis 6.0에서 시작하여 멀티 스레드 I/O 작업이 도입되어 동시 동시성 시나리오에서 성능이 향상되었습니다.

Redis는 SQL 또는 NOSQL 데이터베이스입니까? 대답이 설명되었습니다Redis는 SQL 또는 NOSQL 데이터베이스입니까? 대답이 설명되었습니다Apr 18, 2025 am 12:11 AM

redisisclassifiedasanoSqldatabaseBecauseItuseSakey-valuedatamodelinsteadofThraditionalRelationalDatabasemodel.Itoffersspeedandflexibility, makingIdealforreal-timeApplicationsandcaching, butitmaynotbesuitableforscenariosrequiringstrictaintetaintetaintetaintetaintetaintetaintegry

REDIS : 응용 프로그램 성능 및 확장 성 향상REDIS : 응용 프로그램 성능 및 확장 성 향상Apr 17, 2025 am 12:16 AM

Redis는 데이터를 캐싱하여 분산 잠금 및 데이터 지속성을 구현하여 응용 프로그램 성능 및 확장 성을 향상시킵니다. 1) 캐시 데이터 : Redis를 사용하여 데이터 액세스 속도를 향상시키기 위해 자주 액세스하는 데이터를 캐시합니다. 2) 분산 잠금 : Redis를 사용하여 분산 된 잠금 장치를 구현하여 분산 환경에서 작동의 보안을 보장합니다. 3) 데이터 지속성 : 데이터 손실을 방지하기위한 RDB 및 AOF 메커니즘을 통한 데이터 보안을 보장합니다.

Redis : 데이터 모델과 구조 탐색Redis : 데이터 모델과 구조 탐색Apr 16, 2025 am 12:09 AM

Redis의 데이터 모델 및 구조에는 5 가지 주요 유형이 포함됩니다. 1. 문자열 : 텍스트 또는 이진 데이터를 저장하는 데 사용되며 원자 연산을 지원합니다. 2. 목록 : 정렬 된 요소 컬렉션, 대기열 및 스택에 적합합니다. 세트 : 세트 작동을 지원하는 비 순차 고유 요소 세트. 4. 순서 세트 (SortedSet) : 순위에 적합한 점수가있는 고유 한 요소 세트. 5. 해시 테이블 (HASH) : 객체를 저장하는 데 적합한 키 값 쌍 모음.

REDIS : 데이터베이스 접근 방식을 분류합니다REDIS : 데이터베이스 접근 방식을 분류합니다Apr 15, 2025 am 12:06 AM

Redis의 데이터베이스 방법에는 메모리 인 데이터베이스 및 키 값 저장소가 포함됩니다. 1) Redis는 메모리에 데이터를 저장하고 빠르게 읽고 쓰고 있습니다. 2) 키 값 쌍을 사용하여 데이터를 저장하고 캐시 및 NOSQL 데이터베이스에 적합한 목록, 컬렉션, 해시 테이블 및 주문 컬렉션과 같은 복잡한 데이터 구조를 지원합니다.

왜 Redis를 사용합니까? 혜택과 장점왜 Redis를 사용합니까? 혜택과 장점Apr 14, 2025 am 12:07 AM

Redis는 빠른 성능, 풍부한 데이터 구조, 고 가용성 및 확장 성, 지속성 기능 및 광범위한 생태계 지원을 제공하기 때문에 강력한 데이터베이스 솔루션입니다. 1) 매우 빠른 성능 : Redis의 데이터는 메모리에 저장되며 동시성이 높고 대기 시간이 낮은 응용 프로그램에 적합한 빠른 읽기 및 쓰기 속도를 가지고 있습니다. 2) 풍부한 데이터 구조 : 다양한 시나리오에 적합한 목록, 컬렉션 등과 같은 여러 데이터 유형을 지원합니다. 3) 고 가용성 및 확장 성 : 마스터 슬레이브 복제 및 클러스터 모드를 지원하여 고 가용성 및 수평 확장 성을 달성합니다. 4) 지속성 및 데이터 보안 : 데이터 지속성은 RDB 및 AOF를 통해 달성되어 데이터 무결성 및 신뢰성을 보장합니다. 5) 광범위한 생태계 및 지역 사회 지원 : 거대한 생태계와 활동적인 커뮤니티,

NOSQL 이해 : Redis의 주요 기능NOSQL 이해 : Redis의 주요 기능Apr 13, 2025 am 12:17 AM

Redis의 주요 기능에는 속도, 유연성 및 풍부한 데이터 구조 지원이 포함됩니다. 1) 속도 : Redis는 메모리 내 데이터베이스이며, 읽기 및 쓰기 작업은 거의 순간적이며 캐시 및 세션 관리에 적합합니다. 2) 유연성 : 복잡한 데이터 처리에 적합한 문자열, 목록, 컬렉션 등과 같은 여러 데이터 구조를 지원합니다. 3) 데이터 구조 지원 : 다양한 비즈니스 요구에 적합한 문자열, 목록, 컬렉션, 해시 테이블 등을 제공합니다.

REDIS : 기본 기능을 식별합니다REDIS : 기본 기능을 식별합니다Apr 12, 2025 am 12:01 AM

Redis의 핵심 기능은 고성능 인 메모리 데이터 저장 및 처리 시스템입니다. 1) 고속 데이터 액세스 : Redis는 메모리에 데이터를 저장하고 마이크로 초 수준 읽기 및 쓰기 속도를 제공합니다. 2) 풍부한 데이터 구조 : 문자열, 목록, 컬렉션 등을 지원하며 다양한 응용 프로그램 시나리오에 적응합니다. 3) 지속성 : RDB 및 AOF를 통해 디스크에 데이터를 지속하십시오. 4) 구독 게시 : 메시지 대기열 또는 실시간 통신 시스템에서 사용할 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구