เนื่องจากมีอยู่แล้วและส่งคำตอบและเป็นประโยชน์และถูกต้องที่ฉันไม่ต้องการเบี่ยงเบนความสนใจจากประโยชน์ของตัวเอง แต่มีจุดแน่นอนที่จะยกระดับวิธีที่เกินความคิดเห็นสั้น ๆ ดังนั้นให้พิจารณา "การเพิ่ม" นี้ซึ่งหวังว่าจะถูกต้อง แต่ส่วนใหญ่นอกเหนือไปจากสิ่งที่ได้กล่าวไปแล้ว
ความจริงคือพิจารณาจริง ๆ ว่าแอปพลิเคชันของคุณใช้ข้อมูลอย่างไรและควรตระหนักถึงปัจจัยต่าง ๆ ใน "สภาพแวดล้อมที่แตกออก" รวมถึง "สภาพแวดล้อมในตู้คอนเทนเนอร์" ที่คุณเสนอซึ่งมีผลกระทบกับเรื่องนี้
กรณีพื้นหลัง
โดยทั่วไปจะใช้คำแนะนำการปฏิบัติสำหรับการค้นหาmongos
กระบวนการร่วมกับอินสแตนซ์ของแอปพลิเคชันคือการลบล้างค่าใช้จ่ายเครือข่ายใด ๆ ที่จำเป็นเพื่อให้แอปพลิเคชันสามารถสื่อสารกับmongos
กระบวนการนั้นได้ แน่นอนว่ามันยังเป็น "วิธีปฏิบัติที่แนะนำ" เพื่อระบุจำนวนmongos
อินสแตนซ์ในสตริงการเชื่อมต่อแอปพลิเคชันในกรณีที่โหนด "ใกล้ที่สุด" ไม่ควรพร้อมใช้งานด้วยเหตุผลบางประการจากนั้นจึงสามารถเลือกได้ รีโมตโหนด
กรณี "นักเทียบท่า" ที่คุณกล่าวถึงดูเหมือนว่าจะค่อนข้างตรงเวลา ในขณะที่มันเป็นความจริงที่หนึ่งในเป้าหมายหลักของคอนเทนเนอร์ (และก่อนหน้านั้นบางอย่างเช่น BSD jails หรือ chroot) โดยทั่วไปเพื่อให้ได้ระดับ "การแยกกระบวนการ" ในระดับหนึ่งไม่มีอะไรผิดปกติกับการรันหลายกระบวนการตราบใดที่คุณ เข้าใจความหมาย
ในกรณีพิเศษนี้mongos
หมายถึง "เบา" และเรียกใช้เป็น "ฟังก์ชั่นเพิ่มเติม" กับกระบวนการแอปพลิเคชันในลักษณะที่เป็นส่วน "จับคู่" ของแอปพลิเคชันเอง ดังนั้นนักเทียบท่าอิมเมจเองจึงไม่มี "initd" เหมือนโพรเซส แต่ไม่มีอะไรผิดปกติกับการรันตัวควบคุมโปรเซสเช่นsupervisord (ตัวอย่าง) เป็นกระบวนการหลักสำหรับคอนเทนเนอร์ซึ่งจะให้จุดควบคุมกระบวนการ ภาชนะนั้นเช่นกัน สถานการณ์ของ "กระบวนการที่จับคู่" นี้เป็นกรณีที่สมเหตุสมผลและเป็นคำถามที่พบบ่อยพอสมควรว่ามีเอกสารอย่างเป็นทางการสำหรับมัน
หากคุณเลือกการดำเนินการ "จับคู่" ชนิดนั้นสำหรับการปรับใช้จริง ๆ แล้วมันจะเน้นถึงจุดหลักของการบำรุงรักษาmongos
อินสแตนซ์บนการเชื่อมต่อเครือข่ายเดียวกันและ "เซิร์ฟเวอร์อินสแตนซ์" เป็นแอปพลิเคชันเซิร์ฟเวอร์เอง นอกจากนี้ยังสามารถดูได้ในบางกรณีเป็นกรณีที่ "ทั้งคอนเทนเนอร์" ล้มเหลวจากนั้นโหนดในตัวเองก็จะไม่ถูกต้อง ไม่ใช่ที่ฉันอยากจะแนะนำและในความเป็นจริงคุณควรกำหนดค่าการเชื่อมต่อเพื่อค้นหาmongos
อินสแตนซ์อื่น ๆแม้ว่าจะสามารถเข้าถึงได้ผ่านการเชื่อมต่อเครือข่ายที่เพิ่มเวลาแฝง
เวอร์ชันเฉพาะ / การใช้งานเฉพาะ
เมื่อถึงจุดนั้นการพิจารณาอื่น ๆ ที่นี่กลับมาที่การพิจารณาเริ่มแรกของการหาmongos
กระบวนการร่วมกับแอปพลิเคชันเพื่อจุดประสงค์ในการตอบสนองของเครือข่าย ในรุ่นของ MongoDB ก่อนหน้า 2.6 และโดยเฉพาะเกี่ยวกับการดำเนินงานเช่นกับกรอบการรวมแล้วกรณีที่มีว่าจะมีการรับส่งข้อมูลเครือข่ายมากขึ้นและต่อมาหลังจากประมวลผลงานที่ดำเนินการโดยmongos
กระบวนการเพื่อจัดการกับข้อมูลจากเศษที่แตกต่างกัน . ไม่มากนักในขณะนี้เนื่องจากปริมาณงานการประมวลผลที่ดีสามารถทำได้บนชิ้นส่วนเหล่านั้นก่อนที่จะ "กลั่น" ถึง "เราเตอร์"
อีกกรณีหนึ่งคือรูปแบบการใช้งานแอปพลิเคชันของคุณเองเกี่ยวกับการแยกส่วน นั่นหมายถึงว่าเวิร์กโหลดหลักนั้นอยู่ใน "การกระจายการเขียน" ข้ามหลาย ๆ เศษหรือเป็นวิธีการ "กระจาย - รวบรวม" ในการรวมคำขอการอ่าน ในสถานการณ์เหล่านั้น
ทดสอบทดสอบจากนั้นทดสอบอีกครั้ง
ดังนั้นจุดสุดท้ายที่นี่คือการอธิบายตนเองและลงไปยังฉันทามติขั้นพื้นฐานของการตอบสนองอย่างมีสติกับคำถามของคุณ นี่ไม่ใช่สิ่งใหม่สำหรับ MongoDB หรือโซลูชันการจัดเก็บอื่น ๆ แต่สภาพแวดล้อมการปรับใช้จริงของคุณต้องได้รับการทดสอบในเรื่องของ "รูปแบบการใช้งาน" ซึ่งใกล้เคียงกับความเป็นจริงที่แท้จริงเช่นเดียวกับ "การทดสอบหน่วย" ผลลัพธ์โดยรวมความต้องการที่จะทดสอบ
ไม่มีคำสั่ง "เด็ดขาด" ที่จะพูดว่า "กำหนดค่าด้วยวิธีนี้" หรือ "ใช้ด้วยวิธีนี้" ที่จริงแล้วสมเหตุสมผลกว่าการทดสอบว่า "ใช้งานได้ดีที่สุดจริง ๆ " สำหรับประสิทธิภาพการทำงานและความน่าเชื่อถือตามที่คาดไว้
แน่นอน "กรณีที่ดีที่สุด" จะไม่ใช่ "ฝูงชน" mongos
กรณีที่มีการร้องขอจากแหล่งเซิร์ฟเวอร์แอปพลิเคชัน "หลาย" เสมอ แต่เพื่อให้พวกเขามี "ความเท่าเทียมกัน" ตามธรรมชาติที่สามารถแจกจ่ายโดยปริมาณงานทรัพยากรที่มีอยู่ที่ "น้อย" "แหล่งรวมทรัพยากร" ที่สามารถเลือกได้และแน่นอนในหลาย ๆ กรณี แต่ไม่จำเป็นต้องชักนำเพิ่มเติม ค่าใช้จ่ายในการขนส่งทางเครือข่าย ".
นั่นคือเป้าหมาย แต่เป็นการดีที่คุณสามารถ "ทดสอบในห้องปฏิบัติการ" การกำหนดค่าการรับรู้ที่แตกต่างกันเพื่อให้ได้โซลูชั่นที่ "เหมาะสมที่สุด" สำหรับโซลูชันการปรับใช้ในที่สุดของคุณ
ฉันขอแนะนำหลักสูตร "ฟรี" (เช่นเดียวกับเบียร์) ที่มีให้บริการตามที่กล่าวถึงแล้วและไม่ว่าคุณจะมีความรู้ในระดับใดก็ตาม ฉันพบว่าแหล่งข้อมูลหลักสูตรที่หลากหลายมักจะเสนอ "อัญมณีที่ซ่อนอยู่" เพื่อให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับสิ่งที่คุณอาจไม่ได้พิจารณาหรือมองข้าม M102 ชั้นเป็นที่กล่าวถึงมีการก่อสร้างและดำเนินการโดยอดัม Commerfordสำหรับผู้ที่ฉันสามารถยืนยันมีระดับสูงของความรู้เกี่ยวกับการใช้งานขนาดใหญ่ของ MongoDB และสถาปัตยกรรมข้อมูลอื่น ๆ อย่างน้อยควรพิจารณามุมมองใหม่ในสิ่งที่คุณอาจคิดว่าคุณรู้อยู่แล้ว