Як розподіляється пам’ять?


14

У мене працює memcache на 5 веб-серверах, всі з яких є у списку хостів у php та завантажені на передньому кінці. Отже, оскільки має бути розподілений memcached, клієнт php вирішить, в який вузол записати пари ключів / значень і збереже запис для подальшого пошуку з того самого вузла?

Або код клієнтського php недостатньо розумний для цього, і він швидше записує дані на всі сервери, а потім випадковим чином знімає один з пулу для читання?

Але якщо це зробити так; записувати до всіх примірників у списку / пулі хостів; то яка мета такого інструменту, як http://repcached.sourceforge.net/, який копіює дані для надмірності.

Причину, про яку я прошу, є те, що всі сервери з збалансованим навантаженням працюють ним, і якщо він дійсно пише на всі сервери в пулі, то, схоже, він перемагає мету його розповсюдження, і тому я повинен просто змусити php вийти з хоста у списку хостів, який є localhost.

Відповіді:


16

Бібліотека Memecache відповідає за надсилання запиту на правильний сервер. Бібліотека використовує список, який ви надаєте, щоб надсилати запити на різні сервери, а пам’ять не виконує реплікацію.

Дивіться статтю журналу Linux . Він пояснює, як мембрана працює більш докладно.


Чудова стаття саме те, що мені потрібно, дякую Самер. Я також знайшов цей, який був надзвичайно корисним: code.google.com/p/memcached/wiki/NewConfiguringClient
Майк

Зауважте, що memcache розділяє дані на кілька комп’ютерів на основі ключа, це означає, що може бути добре розподілити роботу рівномірно по клавішному простору, щоб одна машина не потрапляла з усім трафіком, якщо це все для однієї клавіші.
lee penkman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.