2010-05-20 3 views
2

Я пытаюсь найти хорошие ресурсы по лучшим практикам репликации данных на серверах memcache. То, что я хочу сделать, заключается в том, что если один из моих серверов в моем пуле не работает, следующий сервер в строке уже имеет информационный набор.Как реплицировать данные с memcache

Я нашел «repcached», но поскольку я запускаю тестовую среду WIN32, я не смог ее установить.

Итак, каковы наши альтернативы репликации данных между серверами?

Спасибо,

ответ

1

Я никогда не беспокоили с этим сам (Memcache это просто означает, что кэш в конце концов, даже если каждый экземпляр был точной копией любого другого экземпляра, вы до сих пор не может гарантировать, что значение всегда будет существовать после его добавления: оно может быть выведено из-за политики LRU, например).

Однако, если я был для реализации этого как функции, я бы поместил его в клиент, а не как патч на сервер.

То есть вместо хэширования ключа на один сервер, хеш его на 2 или 3 сервера и сохранить значение для всех из них. Затем, возвращая значение обратно, попробуйте получить его с первого, если его там нет, попробуйте второй и так далее.

Это добавочное преимущество не тиражирования каждый значение: вы можете реплицировать только те, которые вы выбрали.

+0

Хм, вы имеете в виду использование чего-то подобного flexihash? http://github.com/pda/flexihash – Industrial

+1

Последовательное хеширование немного отличается. При последовательном хэшировании происходит то, что происходит, если сервер удаляется из пула (или добавляется) в пул, тогда хеширование определяется таким образом, что все остальные ключи будут по-прежнему хешем для одного и того же сервера: вы только аннулируете часть кэша, который был сохранен на удаленном сервере. Без последовательного хэширования, если вы удалили сервер, тогда * все * ключи были бы недействительными. –

+0

Спасибо за помощь, Codeka. Это было действительно ценно и поставило нас в правильном направлении! – Industrial

Смежные вопросы