FileSystemWatcher не работает должным образом, когда в отслеживаемый каталог добавляется большое количество файлов

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


person santosh timalsina    schedule 23.10.2013    source источник
comment
Сильно подозреваю, что перестает уведомлять при большом количестве файлов... это не совсем так (скорее всего потому, что вы синхронно пытаетесь синхронизировать файлы при добавлении одного), но это не беда... Репликация - нетривиальная задача и просто знать когда обновление произошло на одной машине недостаточно (т.е. из-за рестартов сервера). Рассмотрите возможность поиска существующих систем синхронизации файлов... Для развлекательного чтения - PAXOS можно использовать для достичь идеального состояния...   -  person Alexei Levenkov    schedule 23.10.2013


Ответы (1)


FileSystemWatcher имеет буфер для данных уведомлений, и этот буфер довольно мал. Его размер можно увеличить, но всегда будет ограничение на буфер.

У FileSystemWatcher есть и другие недостатки, которые делают его неподходящим для вашей работы. Было бы лучше использовать какие-то другие механизмы для отслеживания изменений и/или, как предлагается в комментарии, использовать какой-нибудь существующий фреймворк синхронизации.

person Eugene Mayevski 'Callback    schedule 23.10.2013