목차
선거를 유발하는 것은 무엇입니까?
2 차는 누가 새로운 1 차가되는지 결정합니까?
실제 선거 중에는 어떻게됩니까?
타이 브레이커 또는 특별한 경우는 어떻습니까?
데이터 베이스 몽고DB 선거 절차는 새로운 1 차를 결정하기 위해 MongoDB 복제품에서 어떻게 작동합니까?

선거 절차는 새로운 1 차를 결정하기 위해 MongoDB 복제품에서 어떻게 작동합니까?

Jul 23, 2025 am 12:06 AM
mongodb 选举

MongoDB 복제 세트가 새로운 1 차를 선출 해야하는 경우, 데이터 신선도, 우선 순위 및 투표를 기반으로 구조화 된 프로세스를 따릅니다. 선거는 현재의 1 차가 연락 할 수 없게되거나 자발적으로 또는 초기화 중에 물러나면 선거가 유발됩니다. 이차는 우선 순위 설정, 데이터 신선도, 투표권 및 가동 시간에 따라 적격성을 결정합니다. 선거 기간 동안, 2 차 지명은 다른 사람의 투표를 요청하고, 다수를 확보하면 1 차로 전환됩니다. 타이 브레이커에는 Oplog Freshness 및 필요한 경우 노드 ID가 포함됩니다. 성공을 보장하기 위해 세트에는 홀수 수의 멤버가 있어야하며 동일한 우선 순위를 피하고 복제 지연을 모니터링해야합니다.

선거 절차는 새로운 1 차를 결정하기 위해 MongoDB 복제품에서 어떻게 작동합니까?

MongoDB 복제 세트가 새로운 1 차를 선출 해야하는 경우, 일관성과 가용성을 보장하는 구조화 된 프로세스를 거칩니다. 핵심 아이디어는 복제 세트의 구성원이 데이터 신선도, 우선 순위 설정 및 가동 시간과 같은 특정 기준에 따라 어떤 노드가 새로운 기본이되어야하는지에 동의하기 위해 서로 통신한다는 것입니다.

일반적으로 작동하는 방법은 다음과 같습니다.


선거를 유발하는 것은 무엇입니까?

선거는 몇 가지 다른 이유로 시작될 수 있지만 가장 일반적으로 다음과 같은 경우

  • 현재 기본은 도달 할 수 없게됩니다 (예 : 네트워크 문제 또는 서버 충돌로 인해)
  • 1 차는 자발적으로 (수동 또는 명령을 통해) 내려갑니다.
  • 새로운 복제 세트가 처음으로 초기화되었습니다.

일단 트리거되면, 보조 노드는 1 차 부재를 감지하고 선거 절차를 시작합니다.


2 차는 누가 새로운 1 차가되는지 결정합니까?

모든 보조가 1 차 자격이되는 것은 아닙니다. MongoDB는 선거를 위해 노드를 실행하기 전에 몇 가지 주요 조건을 점검합니다.

  • 우선 순위 설정 : 각 멤버는 우선 순위 값이 있습니다 (기본값은 1). 우선 순위가 높은 노드가 선호됩니다.
  • 데이터 신선함 : 후보자는 가능한 한 최근에 작업 (OPLOG 항목)을 적용해야합니다. 하나의 2 차가 복제 중에 크게 뒤쳐져 있으면 고려되지 않을 수 있습니다.
  • 투표권 : 일부 노드는 1 차가되지 않도록 구성 될 수 있습니다 (지연 또는 숨겨진 멤버와 같은).
  • 가동 시간 : 최근에 결합하거나 다시 시작한 노드는 자격이되기 전에 조금 기다릴 수 있습니다.

여러 후보자가 이러한 조건을 충족하면 가장 우선 순위가 가장 높습니다.


실제 선거 중에는 어떻게됩니까?

선거 자체는 회원들 사이의 의사 소통 과정입니다.

  1. 보조는 기본이 없으며 그 자체를 지명합니다.
  2. 다른 회원에게 투표를 요청하는 요청을 보냅니다.
  3. 적격 회원은이 후보자가 요구 사항을 충족하고 투표를하는지 여부를 평가합니다.
  4. 후보자가 투표의 절반 이상을 차지하면 (대다수), 2 차에서 1 차로 전환됩니다.
  5. 일단 선출되면, 그것은 쓰기를 수락하기 시작하고 세트에서 복제를 조정합니다.

이 전체 프로세스는 일반적으로 몇 초 밖에 걸리지 않지만 네트워크 지연이나 무거운 부하가 있으면 더 오래 걸릴 수 있습니다.


타이 브레이커 또는 특별한 경우는 어떻습니까?

때로는 선거가 까다로울 수 있습니다. 예를 들어:

  • 두 노드가 우선 순위가 동일한 경우 최신 Oplog가 가장 높은 노드가 승리합니다.
  • 데이터와 우선 순위가 모두 일치하는 동점에서는 더 작은 ID가있는 노드가 이길 수 있습니다. 예, MongoDB는이를 최종 타이 브레이커로 사용합니다.
  • 온라인으로 투표 회원이 충분하지 않은 경우 (대다수보다 적은) 세트는 새로운 기본을 선택할 수 없어 응용 프로그램의 읽기 전용 모드로 이어집니다.

이러한 문제를 피하기 위해 :

  • 홀수 회원으로 복제 세트를 디자인하십시오.
  • 너무 많은 노드가 동일한 우선 순위가있는 경우 구성을 피하십시오
  • 복제 지연을 모니터링하여 후보자가 항상 준비되도록합니다

그것은 기본적으로 MongoDB가 복제 세트에서 선거를 처리하는 방식입니다. 빠르고 탄력적으로 설계되었지만 분할 뇌 시나리오 나 긴 정전을 피하기 위해 신중한 설정이 필요합니다.

위 내용은 선거 절차는 새로운 1 차를 결정하기 위해 MongoDB 복제품에서 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1535
276
MongoDB 컬렉션에서 문서를 업데이트하는 다양한 방법 MongoDB 컬렉션에서 문서를 업데이트하는 다양한 방법 Jun 04, 2025 pm 10:30 PM

MongoDB에서 문서를 업데이트하는 방법에는 다음이 포함됩니다. 1. 기본 업데이트를 수행하기 위해 UpdateOne 및 Updatemany 방법을 사용합니다. 2. $ set, $ inc 및 $ push와 같은 운영자를 사용하여 고급 업데이트를 수행하십시오. 이러한 방법과 운영자를 사용하면 MongoDB에서 데이터를 효율적으로 관리하고 업데이트 할 수 있습니다.

MongoDB에서 모든 데이터베이스를 보는 방법 MongoDB에서 모든 데이터베이스를 보는 방법 Jun 04, 2025 pm 10:42 PM

MongoDB에서 모든 데이터베이스를 보는 방법은 "showdbs"명령을 입력하는 것입니다. 1.이 명령은 비어 있지 않은 데이터베이스 만 표시합니다. 2. "사용"명령을 통해 데이터베이스를 전환하고 데이터를 삽입하여 표시 할 수 있습니다. 3. "로컬"및 "구성"과 같은 내부 데이터베이스에주의를 기울이십시오. 4. 드라이버를 사용하는 경우 "ListDatabases ()"메소드를 사용하여 자세한 정보를 얻어야합니다. 5. "db.stats ()"명령은 자세한 데이터베이스 통계를 볼 수 있습니다.

MongoDB에서 컬렉션을 작성하기위한 명령 및 매개 변수 설정 MongoDB에서 컬렉션을 작성하기위한 명령 및 매개 변수 설정 May 15, 2025 pm 11:12 PM

MongoDB에서 컬렉션을 작성하라는 명령은 DB.CreateCollection (이름, 옵션)입니다. 특정 단계에는 다음이 포함됩니다. 1. 기본 명령 DB.CreateCollection ( "MyCollection")을 사용하여 컬렉션을 만듭니다. 2. 캡핑, 크기, max, stac

MongoDB 컬렉션에서 문서를 정렬하는 작업 명령 MongoDB 컬렉션에서 문서를 정렬하는 작업 명령 Jun 04, 2025 pm 10:27 PM

MongoDB에서는 Sort () 메소드를 사용하여 컬렉션에 문서를 정렬 할 수 있습니다. 1. 기본 사용 : 필드와 정렬 순서를 지정하여 정렬 (1은 오름차순이고 -1은 하강합니다). 2. 고급 사용 : DB.Products.find (). Sort ({카테고리 : 1, 가격 : -1})와 같은 여러 필드에 따라 정렬 할 수 있습니다. 3. 성능 최적화 : 인덱싱을 사용하여 오버 소싱 및 페이징 분류를 피하십시오.

GRIDFS 란 무엇이며 MongoDB에 큰 이진 파일을 저장하는 데 언제 사용해야합니까? GRIDFS 란 무엇이며 MongoDB에 큰 이진 파일을 저장하는 데 언제 사용해야합니까? Jun 06, 2025 am 10:50 AM

GRIDFS는 MongoDB의 16MBBSON 이상의 크기 제한을 가진 파일을 저장하고 검색하기위한 도구입니다. 1. 파일을 255kb 블록으로 나누고 Fs.Chunks 컬렉션에 저장하고 Fs.Files 컬렉션에 메타 데이터를 저장합니다. 2. 적절한 상황에는 다음이 포함됩니다 : 16MB 이상의 파일, 파일 및 메타 데이터를 균일하게 관리해야 할 필요성, 파일의 특정 부분에 대한 액세스 및 외부 스토리지 시스템을 소개하지 않고 MongoDB를 사용합니다. 3. GRIDFS는 업로드 할 때 청크에 자동으로 저장되며 읽기시 순서대로 파일을 재구성하며 사용자 정의 메타 데이터 및 다중 버전 스토리지를 지원합니다. 4. 대체 솔루션에는 다음이 포함됩니다 : MongoDB에 파일 경로 저장 및 실제로 파일 시스템에 저장,

MongoDB에서 데이터베이스를 작성하기위한 명령 및 예방 조치 MongoDB에서 데이터베이스를 작성하기위한 명령 및 예방 조치 Jun 04, 2025 pm 10:39 PM

MongoDB에는 명시적인 "creatatabase"명령이 없으며 데이터가 처음 삽입 될 때 데이터베이스가 작성됩니다. 1. "USEMYDB"를 사용하여 데이터베이스로 전환하십시오. 2. "db.users.insertone ({name : 'johndoe', age : 30})과 같은 문서를 삽입하십시오. 참고 사항 : 데이터베이스 및 컬렉션은 데이터가 처음 삽입 될 때 생성되며 이름에 대한 엄격한 제한이 있으며 권한 관리, 데이터 일관성, 성능 최적화 및 백업 복구를 고려해야합니다.

MongoDB 컬렉션 이름을 바꾸는 작업 명령 MongoDB 컬렉션 이름을 바꾸는 작업 명령 Jun 04, 2025 pm 10:36 PM

MongoDB에서 컬렉션을 바꾸는 이유에는 RenameCollection 명령을 사용하여 코드 리팩토링 및 성능 최적화가 포함됩니다. 참고는 다음과 같습니다. 1. 데이터베이스 잠그기, 2. 인덱스를 자동으로 변경, 3. 업데이트 관련 참조. 모범 사례 제안 : 1. 낮은 피크 작동, 2. 백업 데이터, 3. 테스트 환경에서 먼저 확인하십시오. 컬렉션을 바꾸려면 시스템 성능과 안정성을 보장하기 위해 신중한 처리가 필요합니다.

MongoDB 컬렉션의 페이지 매김 문서 쿼리를위한 구현 방법 MongoDB 컬렉션의 페이지 매김 문서 쿼리를위한 구현 방법 May 15, 2025 pm 11:00 PM

MongoDB에서 Pagination Query는 Skip () 및 Limit () 메소드를 통해 구현할 수 있습니다. 1. Skip (n)을 사용하여 첫 번째 N 문서를 건너 뛰고 M)을 제한하여 M 문서를 반환합니다. 2. 최적화 중에는 Skip () 대신 범위 쿼리를 사용할 수 있으며 결과를 캐시하여 성능을 향상시킬 수 있습니다.

See all articles