우선순위 0 복제본 세트 구성원
이 페이지의 내용
priority 0
멤버는 trigger 프라이머리 가 될 수 없고 투표 를 할 수 없는 멤버입니다. 우선순위 0 멤버는 w : <number>
의 쓰기 고려 (write concern) 로 발행된 쓰기 (write) 작업을 승인할 수 있습니다. "majority"
쓰기 고려 (write concern) 고려의 경우, 우선 순위 0 멤버도 투표 멤버여야 합니다(예: members[n].votes
가 0
쓰기 (write) 큰 경우 ). 투표권이 없는 복제본 세트 멤버(예: members[n].votes
가 0
경우)는 "majority"
쓰기 고려 (write concern) 를 가진 쓰기 (write) 작업을 승인하는 데 기여할 수 없습니다.
앞서 언급한 제한 사항 외에 priority 0
을 가진 세컨더리는 데이터 세트의 사본을 유지하고, 읽기 작업을 수락하며, 투표하는 등 일반적인 세컨더리와 같은 기능을 합니다.
priority 0
을 가진 복제본 세트 멤버를 구성하는 것은 특정 멤버가 주 배포에서 멀리 떨어진 데이터 센터에 배포되어 지연 시간이 길어지는 경우에 적합할 수 있습니다. 로컬 읽기 요청은 잘 처리할 수 있지만 대기 시간으로 인해 프라이머리의 작업을 수행하기에는 적합하지 않을 수 있습니다.
이 상황에서 다음 다이어그램은 왼쪽에 프라이머리 및 세컨더리를 호스팅하는 데이터 센터가 있고, 오른쪽에 프라이머리가 되지 않도록 우선 순위 0이 되도록 구성된 세컨더리를 호스팅하는 데이터 센터가 있습니다. 이 설정으로 인해 왼쪽 데이터 센터의 멤버만 투표에서 프라이머리가 될 수 있습니다.
이 값을 복제본 세트 멤버의 기본 우선 순위인 priority 1
과 비교합니다. 이 시나리오에서는 세컨더리 중 하나를 프라이머리로 사용할 수 있습니다. 자세한 내용은 둘 이상의 데이터 센터에 분산된 복제본 세트를 참조하세요.
대기 상태의 우선순위 0 멤버
priority 0
을 사용하는 세컨더리는 대기 상태로 작동할 수 있습니다. 일부 복제본 세트에서는 합리적인 시간 내에 새 멤버를 추가하는 것이 불가능할 수 있습니다. 대기 상태인 멤버는 사용할 수 없는 멤버를 교체할 수 있도록 데이터의 현재 복사본을 유지합니다.
대부분의 경우 대기를 우선순위 0으로 설정할 필요가 없습니다. 그러나 하드웨어 또는 지리적 분포가 다양한 복제본 세트에서는 우선순위 0 대기를 설정하면 특정 멤버만 프라이머리가 될 수 있습니다.
우선 순위 0 대기는 하드웨어 또는 워크로드 프로필이 다른 세트의 일부 멤버에게도 유용할 수 있습니다. 이러한 경우 우선 순위 0인 멤버를 배포하여 프라이머리가 되지 않도록 합니다. 또한 이 목적을 위해 숨겨진 멤버를 사용하는 것이 좋습니다.
세트에 이미 투표권이 있는 멤버가 7명 있는 경우, 멤버를 투표권이 없는 멤버로 구성합니다.
페일오버 고려 사항
priority 0
을 갖도록 세컨더리를 구성할 때는 가능한 모든 네트워크 파티션을 포함하여 잠재적인 페일오버 패턴을 고려합니다. 주 데이터 센터에 투표권이 있는 멤버 정족수와 프라미어리가 될 자격이 있는 멤버가 모두 포함되어 있는지 항상 확인합니다.
예시
priority 0
를 가지도록 세컨더리 를 구성하려면 자체 관리형 세컨더리가 프라이머리가 되지 않도록 방지하기를 참조하세요.