MongoDB 복제 세트에 최소 2 ~ 3 명의 구성원이 필요합니까?


답변:


19

원하는 경우 실제로 단일 멤버 "세트"를 실행할 수 있습니다.

그래도 3 명의 멤버 (또는 높은 홀수)가 가장 좋습니다. 복제본 세트는 대부분의 세트를 사용할 수없는 경우에만 읽기 때문에 두 멤버 세트의 멤버를 잃으면 나머지 멤버는 읽기 전용이됩니다.

두 개의 정식 멤버와 "투표 전용"멤버 (중재자)도 실행할 수 있습니다. 이것은 복제 세트에 대해 가장 합리적으로 안전한 옵션입니다.


6
두 구성원이 결함 허용 시스템이 아님을 강조하고 싶습니다. @MrKurt는 한 멤버가 다운 (계획되지 않음)하면 다른 멤버는 PRIMARY가 될 수 없으며 SECONDARY (읽기 전용)로 내려갑니다. 즉, 프로덕션 환경에서 복제본이 필요한 경우 고장난 구성원에 대한 내결함성에 최소 3 명의 구성원이 있습니다.
Bret Fisher

3

튜토리얼의 요구 사항은 복제본 세트에 대한 일반적인 설명이 아니라 튜토리얼 자체와 관련이 있기 때문에 이는 기본적으로 표현 문제입니다. 일반적으로 복제본 세트를 배포하기위한 요구 사항은 1 이상이며 대부분 2 이상이 있지만 링크하는 자습서는 구체적으로 3 개의 멤버 집합을 배포하는 것입니다.

이 학습서는 3 개의 기존 MongoDB 인스턴스에서 3 개의 멤버 복제 세트를 작성하는 방법에 대해 설명합니다.

따라서 학습서의 요구 사항에는 세트에 3 개의 멤버가 있어야합니다. 그럼에도 불구하고 두 문을 갖는 것은 약간 혼란 스럽기 때문에 풀 요청 (편집 : 풀 요청이 병합되었습니다)을 제출 하여 조금 정리했습니다.

복제 세트의 일부로 구성된 단일 mongod 노드를 가질 수 있지만 엄격하게 말하면 "세트"가 아닙니다. 실제로 복제는 독립형 mongod(기본적으로 oplog로 인해) 보다 많은 자원을 사용 하므로 다른 구성원을 세트에 추가하기 전에 임시 조치가 아니거나 oplog가 필요한 경우를 제외하고는 단일 구성원을 실행할 필요가 없습니다 다른 이유 (예 : 백업).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.