memcache มีการกระจายอย่างไร?


14

ฉันมี memcache ทำงานบนเว็บเซิร์ฟเวอร์ 5 แห่งซึ่งอยู่ในรายการโฮสต์ใน php และโหลดบาลานซ์ที่ส่วนหน้า ดังนั้นเนื่องจาก memcached ควรจะกระจายไคลเอนต์ php จะตัดสินใจว่าโหนดใดที่จะเขียนคู่คีย์ / ค่าและเก็บบันทึกสำหรับการดึงในภายหลังจากโหนดเดียวกันนั้นใช่มั้ย

หรือเป็นรหัสลูกค้า php ไม่ฉลาดพอที่จะทำเช่นนั้นและมันเขียนข้อมูลไปยังเซิร์ฟเวอร์ทั้งหมดแล้วสุ่มภาพจากสระว่ายน้ำเพื่ออ่านจาก?

แต่ถ้าเป็นเช่นนั้น เขียนไปยังอินสแตนซ์ทั้งหมดในรายการโฮสต์ / พูล; ดังนั้นอะไรคือจุดประสงค์ของเครื่องมืออย่างhttp://repcached.sourceforge.net/ซึ่งจะจำลองข้อมูลซ้ำซ้อน

เหตุผลที่ฉันถามก็คือเพราะเซิร์ฟเวอร์ load load ทั้งหมดกำลังทำงานอยู่และถ้ามันเขียนไปยังเซิร์ฟเวอร์ทั้งหมดใน pool แน่นอนแล้วดูเหมือนว่ามันจะทำลายจุดประสงค์ของการเผยแพร่และดังนั้นฉันควรบังคับให้ php ดึงออกจากโฮสต์ ในรายการโฮสต์ที่เป็น localhost

คำตอบ:


16

ไลบรารี Memecache มีหน้าที่ส่งคำขอไปยังเซิร์ฟเวอร์ที่ถูกต้อง ไลบรารีใช้รายการที่คุณให้เพื่อส่งคำขอไปยังเซิร์ฟเวอร์อื่นและ memcache ไม่ทำการจำลองแบบ

อ้างถึงบทความวารสารลินุกซ์ มันอธิบายวิธี memcache ทำงานในรายละเอียดเพิ่มเติม


บทความที่ยอดเยี่ยมในสิ่งที่ฉันต้องการขอบคุณ Sameer ฉันพบสิ่งนี้ซึ่งมีประโยชน์อย่างยิ่ง: code.google.com/p/memcached/wiki/NewConfiguringClient
Mike

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