Наша среда состоит из 6 серверов memcached, работающих на устройствах Solaris 10, и кода приложения, работающего на нескольких серверах Solaris и Ubuntu. У нас возникают проблемы с доступом к набору данных в одной операционной системе и доступом из другой. Единственный случай, когда к ключам можно получить доступ из любой ОС, - это когда мы подключаемся только к одному серверу кеширования, а не к пулу. Как только вы добавляете 2 или более серверов в пул, все ключи становятся доступны только в той ОС, в которой они были созданы.
Кэш-пул - это все memcached 1.2.6, а на серверах приложений работает PHP-библиотека memcache на 1.86. Все серверы в нашей среде Solaris и Ubuntu 64-битные.
Какие-либо предложения?
Я знаю, что это, вероятно, клише, но рассматривали ли вы возможность обновления до последней версии (1.4.4), чтобы узнать, возможно ли исправление ошибки, которое решит эту проблему для вас? Я не прочитал все записи. Я могу вам сказать, однако между 1.2.6 и 1.4.4 было МНОГО исправлений ошибок - мы только недавно перешли на 1.4.4 в нашей производственной среде с 1.2.4 и также увидели много улучшений скорости.
Одна вещь, о которой я только что подумал ... в клиенте у вас есть возможность выбрать, следует ли хешировать ключ или сохранять его как обычный текст - у вас это установлено одинаково в обеих ОС?
Если вы объедините вместе 2 сервера Solaris или Ubuntu вместо смешивания, проблема будет решена? Попытка сузить круг вопросов до клиента или проблемы объединения.
Наконец, есть ли причина, по которой вы смешиваете нагрузки ОС? Мы считаем, что в наших средах проще стандартизировать, и при необходимости проще развернуть новую машину.