Рабочий процесс на основе файловой системы
У меня есть приложение с веб-приложением, которое в основном принимает загрузку некоторых файлов журнала, и есть некоторые процессы, которые должны последовательно воздействовать на полученные файлы журнала. В своей текущей реализации каждый процесс получает файлы из файловой системы, выполняет некоторую обработку и выводит обработанный файл в какую-то другую папку, и он же удаляется из входной папки. Теперь я хочу знать, является ли это наилучшим из возможных подходов, хотя я сомневаюсь в этом. Какой должен быть наилучший из возможных подходов? Должен ли я использовать для этого какую-нибудь систему обмена сообщениями, такую как RabbitMQ? Должен ли я передать весь файл в очередь или только имя каталога / файла и сохранить файл в какой-либо другой общей (например, NAS) или распределенной файловой системе?
1 ответ
Это во многом зависит от ваших требований и настроек. Например, если под процессами вы подразумеваете физически независимые узлы, то да, промежуточное ПО, ориентированное на сообщения, имело бы смысл с точки зрения обеспечения связи между узлами издателя / подписчика. Кроме того, еще одним преимуществом является то, что вы разгружаете узел, который принимает входные файлы, и распределяете бизнес-логику на другие узлы.