Существует процесс, который сбрасывает файлы 10k в общий накопитель NFS. Мне нужно читать и обрабатывать данные из файлов. Я написал код Java, который отлично работает в одном узле env. Но когда код развертывается в кластере WAS с 4 узлами, узлы собирают и обрабатывают одни и те же файлы.NFS: Синхронизированная обработка файлов в кластере env
Как я могу избежать этого? Есть ли какая-то функция блокировки файлов, которую я могу использовать для устранения этой проблемы? Любая помощь высоко ценится.
Дополнительная информация: Я использую библиотеку org.apache.commons.io.monitor для опроса каталога NFS каждые 10 секунд. Затем мы читаем и обрабатываем файлы, а затем перемещаем файл в папку после процесса. Как уже упоминалось, это отлично работает в одном узле env. При развертывании в кластере узлы обрабатывают один и тот же файл и обрабатывают их, что вызывает множественные вызовы с одинаковыми данными для бэкэнд-сервиса.
Я ищу оптимальное решение.
PS: Приложение, обрабатывающее файлы, не имеет доступа к какой-либо базе данных.
Заранее спасибо
Спасибо Alexandre! Я собираюсь попробовать это, но не уверен, что это решение работает со многими потоками из опроса узлов кластера одновременно. – KrisB