Мы хотим создать веб-ферму для запуска нашего веб-приложения. Для этого мы использовали наблюдатель файловой системы, чтобы получать уведомления об изменениях и синхронизировать изменения одного сервера с другими серверами на веб-ферме. Наблюдатель файловой системы работает, наблюдает и уведомляет, когда один или два файла добавляются, но останавливается. уведомление, когда в каталог добавляется большое количество файлов. Мы будем благодарны, если будет предложено лучшее решение.
FileSystemWatcher не работает должным образом, когда в отслеживаемый каталог добавляется большое количество файлов
comment
Сильно подозреваю, что перестает уведомлять при большом количестве файлов... это не совсем так (скорее всего потому, что вы синхронно пытаетесь синхронизировать файлы при добавлении одного), но это не беда... Репликация - нетривиальная задача и просто знать когда обновление произошло на одной машине недостаточно (т.е. из-за рестартов сервера). Рассмотрите возможность поиска существующих систем синхронизации файлов... Для развлекательного чтения - PAXOS можно использовать для достичь идеального состояния...
- person Alexei Levenkov   schedule 23.10.2013
Ответы (1)
FileSystemWatcher имеет буфер для данных уведомлений, и этот буфер довольно мал. Его размер можно увеличить, но всегда будет ограничение на буфер.
У FileSystemWatcher есть и другие недостатки, которые делают его неподходящим для вашей работы. Было бы лучше использовать какие-то другие механизмы для отслеживания изменений и/или, как предлагается в комментарии, использовать какой-нибудь существующий фреймворк синхронизации.
person
Eugene Mayevski 'Callback
schedule
23.10.2013