Технология передачи данных с внешней системы - PullRequest
0 голосов
/ 16 января 2012

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

Ответы [ 2 ]

2 голосов
/ 16 января 2012

Первый вопрос, который вы должны задать, - «это работает?».

Если ответ на этот вопрос положительный, то вы должны быть осторожны с изменениями только потому, что прочитали, что это плохая идея.Я читал, что шоколад может быть вреден для вас, но я не отказываюсь от него: -)

Там есть потенциальные проблемы, с которыми вы можете столкнуться, такие как удаление файлов безваши знания или попытки обработать файлы, которые передаются только наполовину (хотя есть способы смягчить оба из них, например, разрешения в первом случае, или использование сторожевых файлов или проверка содержимого в последнем случае).

Я бы предпочел систему очередей сообщений, такую ​​как IBM MQ или JMS (поскольку для этого они созданы и они немного облегчают жизнь), но, как указано во втором абзаце выше, только если:

  • проблемы появляются или становятся очевидными с текущим решением;или
  • у вас есть свободное время и деньги на ненужную переделку.

Последняя пуля нуждается в расширении.Хотя работа может быть ненужной (с точки зрения исправления несуществующей проблемы), это не обязательно делает ее бесполезной, особенно если это может улучшить производительность или безопасность, или уменьшить усилия по обслуживанию.

0 голосов
/ 16 января 2012

Я бы использовал базу данных для синхронизации ваших файлов.Есть база данных, которая указывает на расположение файлов.Поместите запись в базу данных только после полного переноса файлов.Это гарантирует, что вы забираете законченные файлы.Вы можете опросить базу данных, чтобы проверить наличие новых записей вместо опроса файловой системы.Очень простая простая настройка механизма опроса.Если вы хотите, чтобы вам сообщали, когда в папке появляется новый файл, вам нужно заняться очередью сообщений.

...