У нас есть веб-ферма из 12 серверов, все из которых работают на одном и том же сайте.
У нас есть файл, скажем, config.xml, который идентичен на всех 12 серверах.Содержимое хранится в memcached (через клиент Enyim).
При каждом изменении этого файла на любом из 12 серверов кэшированная версия этого файла должна быть очищена и заменена содержимым новой версии.
Для этого каждый веб-сервер использует FileSystemWatcher и просматривает свою версию config.xml и удаляет кэшированное содержимое, если этот файл изменяется.
Когда мы хотим изменить config.xml, мы загружаемНовая версия для всех 12 веб-серверов.Проблема заключается в том, что каждый веб-сервер обнаруживает изменение с помощью своего FileSystemWatcher, и все 12 веб-серверов удаляют кэшированное значение и помещают новое значение содержимого.
Другими словами, очистка при изменении файлазависимость кэша выполняется 12 раз, когда мы хотим, чтобы она выполнялась только один раз (поскольку все 12 копий одинаковы).
В чем решение?