C # .NET Memcached: добавить элемент с файловой зависимостью? - PullRequest
0 голосов
/ 30 сентября 2010

У нас есть веб-ферма из 12 серверов, все из которых работают на одном и том же сайте.

У нас есть файл, скажем, config.xml, который идентичен на всех 12 серверах.Содержимое хранится в memcached (через клиент Enyim).

При каждом изменении этого файла на любом из 12 серверов кэшированная версия этого файла должна быть очищена и заменена содержимым новой версии.

Для этого каждый веб-сервер использует FileSystemWatcher и просматривает свою версию config.xml и удаляет кэшированное содержимое, если этот файл изменяется.

Когда мы хотим изменить config.xml, мы загружаемНовая версия для всех 12 веб-серверов.Проблема заключается в том, что каждый веб-сервер обнаруживает изменение с помощью своего FileSystemWatcher, и все 12 веб-серверов удаляют кэшированное значение и помещают новое значение содержимого.

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

В чем решение?

1 Ответ

3 голосов
/ 30 сентября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...