PHP: memcache и memcached - вопрос addServer - PullRequest
0 голосов
/ 01 апреля 2011

Использование PHP memcache и memcached У них обоих есть addServer.

Поэтому я добавляю 2 разных сервера memcache, работающих на разном оборудовании и даже на разных портах.Когда я «устанавливаю», «добавляю» или «увеличиваю» - какой из них будет выбран с memcache, а какой с memcached?Если один из серверов становится недоступным, а затем снова становится доступным, что происходит?

И как включить избыточность / репликацию данных на обоих?

Скажите, что я хочу, чтобы данные были сохраненыкак серверу A, так и серверу B, и когда один из них недоступен, а затем снова доступен, он возвращается к тому, что находится на другом сервере.

Я думаю, что это можно сделать с помощью кластера memcache, но как клиент PHP привязывает memcache иmemcached что обрабатывает?

1 Ответ

2 голосов
/ 01 апреля 2011

Чтобы получить желаемый эффект, вам нужно проделать определенную работу. Вместо этого я бы рекомендовал использовать Membase с включенной репликацией и отключенным постоянством для достижения того же эффекта. Но сначала позвольте мне объяснить:

В клиентах Memcached и Memcache хэш ключа определяет, какой сервер memcache хранит данные. То, какой сервер хранит данные, действительно зависит от ключа.

Memcached позволяет параметру иметь согласованное хеширование (Memcached :: DISTRIBUTION_CONSISTENT или Memcached :: OPT_LIBKETAMA_COMPATIBLE), чтобы в случае сбоя сервера memache или добавления сервера не все данные переставлялись

Не рекомендуется, но ... Чтобы достичь желаемого эффекта (неэффективно), используйте последовательное хеширование и:

1.) Проверьте, не работает ли сервер. Создайте объект Memcache (d), используя только рассматриваемый сервер, и сохраните и извлеките с него случайный фрагмент данных. Если это работает, это работает.

2.) Возьмите свои рабочие серверы и добавьте их в список серверов при создании объекта Memcached.

3.) Наслаждайтесь!

PS: По мере того, как серверы увеличиваются и уменьшаются, ваш коэффициент кеша также будет падать.

...