Назад | Перейти на главную страницу

Как распределяется кэш памяти?

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

Или код клиента php недостаточно умен, чтобы сделать это, и скорее он записывает данные на все серверы, а затем случайным образом рисует один из пула для чтения?

Но если это произойдет; писать во все экземпляры в списке / пуле хостов; тогда какова цель такого инструмента, как http://repcached.sourceforge.net/ который реплицирует данные для избыточности.

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

Библиотека Memecache отвечает за отправку запроса на правильный сервер. Библиотека использует предоставленный вами список для отправки запросов на разные серверы, а memcache не выполняет репликацию.

Обратитесь к Статья журнала Linux. В нем более подробно объясняется, как работает memcache.