ชุดแบบจำลอง MongoDB ต้องการสมาชิกอย่างน้อย 2 หรือ 3 คนหรือไม่?


16

เอกสารที่นี่บอกว่าสาม: http://docs.mongodb.org/manual/tutorial/deploy-replica-set/

"ชุดแบบจำลองต้องการระบบที่แตกต่างกันสามระบบ ... "

ในขณะที่เอกสารที่นี่บอกว่าสอง: http://docs.mongodb.org/manual/core/replication/

"ชุดแบบจำลองส่วนใหญ่ประกอบด้วยชุดคำสั่ง mongod สองชุดขึ้นไป ... "

ใครรู้ว่าถูกต้องหรือไม่

คำตอบ:


19

คุณสามารถเรียกใช้ "set" สมาชิกเดียวได้หากคุณต้องการ

สมาชิก 3 คน (หรือเลขคี่ที่สูงกว่า) นั้นดีที่สุดจริงๆ ชุดแบบจำลองไปอ่านได้เฉพาะในกรณีที่ชุดส่วนใหญ่ไม่พร้อมใช้งานดังนั้นถ้าคุณสูญเสียสมาชิกในชุดที่สองสมาชิกสมาชิกที่เหลือจะกลายเป็นแบบอ่านอย่างเดียว

คุณสามารถเรียกใช้สมาชิกเต็มสองคนรวมถึงสมาชิก "ลงคะแนนเท่านั้น" (เรียกว่าผู้ชี้ขาด) เช่นกัน นี่เป็นตัวเลือกที่ปลอดภัยที่สุดที่เล็กที่สุดสำหรับชุดแบบจำลอง


6
ต้องการเน้นว่าสมาชิกสองคนไม่ใช่ระบบป้องกันความผิด @MrKurt ถูกต้องว่าถ้าสมาชิกคนหนึ่งลงไป (ไม่ได้วางแผน) สมาชิกคนอื่นจะไม่สามารถเป็นสมาชิกหลักได้และจะลงมาที่ SECONDARY (อ่านอย่างเดียว) กล่าวอีกนัยหนึ่งถ้าคุณต้องการแบบจำลองในการผลิตสมาชิก 3 คนเป็นขั้นต่ำสำหรับการยอมรับข้อบกพร่องต่อสมาชิกที่ล้มเหลว
Bret Fisher

3

นี่เป็นปัญหาการใช้ถ้อยคำเพราะความต้องการในการสอนไม่ใช่คำสั่งทั่วไปเกี่ยวกับชุดจำลอง แต่ค่อนข้างเกี่ยวข้องกับบทช่วยสอน ความต้องการสำหรับการปรับใช้ชุดแบบจำลองโดยทั่วไปคือ 1 หรือมากกว่าส่วนใหญ่มี 2 หรือมากกว่า แต่บทช่วยสอนที่คุณเชื่อมโยงนั้นใช้เพื่อปรับใช้ชุดสมาชิก 3 คนโดยเฉพาะ:

บทช่วยสอนนี้อธิบายวิธีสร้างชุดแบบจำลองสมาชิกสามชุดจากอินสแตนซ์ที่มีอยู่สามตัวของ MongoDB

ดังนั้นข้อกำหนดสำหรับการสอนคือชุดมีสมาชิก 3 คน อย่างไรก็ตามมันมีความสับสนเล็กน้อยที่จะมีสองข้อความดังนั้นฉันจึงส่งคำขอดึง (แก้ไข: ตอนนี้มีการรวมคำขอดึง) เพื่อทำความสะอาดขึ้นเล็กน้อย

คุณสามารถมีโหนด mongod เดียวที่กำหนดค่าให้เป็นส่วนหนึ่งของชุดเรพลิกา แต่พูดอย่างเคร่งครัดว่าจะไม่เป็น "ชุด" ในความเป็นจริงเนื่องจากการจำลองแบบใช้ทรัพยากรมากกว่าแบบสแตนด์อโลนmongod(โดยทั่วไปเป็นเพราะoplog ) ไม่มีจุดที่จะเรียกใช้สมาชิกเดียวเว้นแต่ว่าเป็นการวัดชั่วคราวก่อนที่คุณจะเพิ่มสมาชิกอื่น ๆ ในชุดหรือถ้าคุณต้องการ oplog สำหรับ เหตุผลอื่น ๆ (เช่นการสำรองข้อมูล)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.