MongoDB 복제 세트를 설정하려면 여러 단계가 필요하므로 고 가용성 및 데이터 중복성을 보장합니다. 먼저 별도의 기계 나 가상 머신에서 실행되는 3 개의 MongoDB 인스턴스가 필요합니다. 이는 데이터 일관성 및 장애 조치에 필요한 다수 정족수를 달성하는 데 중요합니다. 각 인스턴스에는 고유 한 호스트 이름 또는 IP 주소가 있어야합니다.
다음으로 MongoDB 인스턴스 중 하나에서 복제 세트를 시작하여 기본이됩니다. 이것은 mongodb 쉘 내에서 rs.initiate()
명령을 사용하여 수행됩니다. 이 명령에는 일반적으로 호스트 이름 및 포트를 포함하여 복제 세트의 멤버를 지정하는 구성 객체가 필요합니다. 예를 들어:
<code class="javascript">rs.initiate( { _id: "myReplicaSet", members: [ { _id: 0, host: "server1:27017" }, { _id: 1, host: "server2:27017" }, { _id: 2, host: "server3:27017" } ] } )</code>
"server1:27017"
, "server2:27017"
및 "server3:27017"
MongoDB 인스턴스의 실제 호스트 이름 및 포트로 바꾸십시오. _id
필드는 각 멤버의 고유 식별자입니다. 기본 에서이 명령을 실행 한 후 다른 멤버는 기본의 rs.add()
명령을 사용하여 복제 세트에 추가되어야합니다. 그런 다음 rs.status()
명령을 사용하여 복제 세트 상태를 확인해야합니다. 이것은 각 멤버 (1 차, 2 차 또는 중재자)의 역할을 포함하여 복제 세트의 상태를 보여줍니다. 고 가용성을 보장하기 위해 특정 서버가 아닌 복제 세트 이름에 연결하도록 MongoDB 클라이언트를 구성해야합니다.
MongoDB Replica 세트는 독립형 배포에 비해 몇 가지 주요 이점을 제공합니다.
MongoDB 복제 세트의 데이터 일관성은 주로 쓰기 문제 설정을 통해 관리됩니다. 쓰기 문제는 쓰기 작업이 성공하기 전에 복제 세트에서 요구되는 인정 수준을 지정합니다. 기본 쓰기 문제는 w:1
입니다. 이는 쓰기가 기본에 기록 된 후에 만 인정된다는 것을 의미합니다. 그러나 일관성이 높을수록 w:majority
사용할 수 있습니다. 이는 대다수의 복제 세트 멤버들에게 쓰기를 복제해야합니다. 이렇게하면 1 차가 실패하더라도 데이터는 2 차 구성원에게 안전합니다.
쓰기 우려 외에도 wtimeoutMS
옵션도 구성 할 수 있습니다. 이것은 클라이언트가 쓰기가 인정 될 때까지 기다릴 최대 시간 (밀리 초)을 지정합니다. 쓰기가 승인되기 전에 시간 초과가 만료되면 오류가 반환됩니다. 데이터 일관성을 유지하고 성능 균형을 안정성으로 균형을 잡는 데는 쓰기 문제 및 시간 초과를 올바르게 설정하는 것이 중요합니다. 또한, 다른 복제 세트 구성 (예 : 중재자 사용)을 이해하고 쓰기 문제에 대한 영향은 원하는 일관성 수준을 달성하는 데 필수적입니다.
MongoDB 복제 세트 문제 해결에는 잠재적 인 문제를 체계적으로 조사해야합니다. 몇 가지 일반적인 단계는 다음과 같습니다.
rs.status()
명령을 사용하여 복제 세트의 상태, 각 멤버의 역할 및 잠재적 오류를 확인하십시오. 이 명령은 복제 세트의 건강에 대한 귀중한 통찰력을 제공합니다.mongod.conf
)을 검토하여 올바르게 구성되도록하십시오.위 내용은 MongoDB 복제 세트를 어떻게 설정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!