2010-05-19 2 views
6

По моему опыту я вижу много диаграмм архитектуры, которые широко используют FTP в качестве среды для связывания архитектурных компонентов.Когда полезно использовать FTP?

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

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

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

Редактировать: спасибо тем, кто указывает, что SFTP предпочтительнее, однако мой вопрос более широк, чем рекомендация по протоколу передачи файлов. Извините за путаницу.

ответ

8

Когда это полезно использовать FTP?

До изобретения SFTP.


Обращаясь правка (так называемого широким вопроса в этом вопросе)

Это все сводится к предполагаемому использованию. Посмотрите на вашу ситуацию и определите

  • Какие данные я перемещаю?
  • Какой формат он изначально создан? (PDF-файлы на диске, текстовый вывод из сценариев веб-сервера и т. Д.)
  • Как используются данные?
  • Когда данные потребляются? (Мгновенно прибывают, запланированные пакетные задания?)
  • Какая среда связи соединяет генератор данных и потребителя данных?

Например:

Процесс создает PDF документы, записывая их в локальный RAID-массив. У вас есть другой компьютер, предназначенный для печати всех PDF-файлов, созданных на множестве серверов, подключенных к локальной Gigabit LAN, через задание cron, которое планируется запустить в полночь.

Учитывая, что данные, скорее всего, будут слишком большими для того, чтобы все сидели в ОЗУ на сервере печати, имеет смысл использовать SFTP для передачи PDF-файлов, чтобы их можно было захватывать с диска по мере их печати.

Другой пример:

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

-1

Я думаю, что безопасность и отсоединенные сети или сегменты сети могут вступить в игру. У меня были разные проекты, когда кому-то нужно импортировать данные из другой системы, а FTP - это простой/безопасный способ получить данные через брандмауэр. Как правило, вы можете запланировать его запуск автоматически, и большинство пользователей сетевой безопасности будут в порядке с открытыми FTP-портами.

+0

-1 для того, чтобы сказать, что FTP является безопасным способом. –

+3

Я думаю, что большинство * хороших пользователей сетевой безопасности было бы нормально, если бы порты SFTP были открыты, но не ОК с открытыми FTP-портами. – tster

+0

Да, я должен был быть более конкретным. – Thyamine

3

Некоторые системы lecacy используют папки для передачи данных как XML или CSV и т. Д., В этих случаях файлы должны быть записаны на диск. Если вы интегрируетесь в другую систему за пределами сети/в Интернете, имеет смысл сделать их доступными на FTP-сайте. Более новые системы могут использовать WebServices или другие технологии «по проводам» для уменьшения экономии на диске. Возможно, что если эти файлы очень большие, FTP может быть лучшим решением.

В некоторых отраслях промышленности, например, в полиграфической промышленности, большие файлы PDF являются маршрутами через различные рабочие процессы, в которых файлы PDF обрабатываются, обрабатываются и т. Д. Через этот рабочий процесс. В полиграфической промышленности использование папок (и, в свою очередь, FTP) является обычным явлением, и они на практике ссылаются на них как на «Горячие папки»

+0

-1 для рекомендации FTP вместо SFTP и подразумевает, что FTP - это надежный способ передачи файлов. –

+1

@Dave Markle: Это немного грубо, учитывая вопрос о том, почему FTP используется в общем смысле. Насколько мне известно, когда речь идет о FTP, используется его FTP-протокол даже SFTP. –

+0

@Dave Markle: haha, и я не упоминал «надежный» ... вы сделали .... –

1

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

Много раз люди на самом деле нуждаются в безопасности, но они ошибаются при использовании FTP, потому что они просто верят, что это сделано. Лучше всего это использовать SFTP (мне нравится реализация OpenSSH) или передавать данные с помощью защищенного веб-сервиса.

Конечно, правильная реализация SFTP означает, что разработчики должны будут правильно генерировать, хранить и обменивать свои ключи и понимать, как работает доверие. Зачастую это слишком много усилий для них, поэтому люди склонны просто идти по легкому маршруту и ​​использовать FTP. Грустно, если вы спросите меня.

3

Если вам нужно отправить физическое письмо в самый рельефный языковой стандарт, трудно выполнить услугу 2000 year old postal. Если вам нужно отправить файл на место возможностей обратной воды, трудно обыграть 40 year old Postel service.

+0

+1 для каламбура, а также для точки «универсальной совместимости». – mpez0

+0

Я не могу с доброй совестью подняться на каламбур :) –

+1

Я знаю, что если бы мог, я мог бы окупить себя. :) – msw

3

Если безопасность не имеет значения, тогда FTP может быть полезен.

Однако, учитывая современные варианты, я бы, вероятно, никогда не использовал его, вместо этого вместо SFTP/SCP/rsync или HTTP (возможно, с помощью WebDAV). Во-первых, у всех этих протоколов есть опции для повышения безопасности (HTTP по крайней мере через SSL). Кроме того, это более простые протоколы. FTP имеет неприятную информацию о том, что фактические данные передаются по отдельному соединению, чем команды управления, что затрудняет работу с брандмауэром. Кроме того, в непассивном режиме это соединение происходит от сервера к клиенту, что делает брандмауэр почти кошмаром. Если есть унаследованные потребности взаимодействия, это может быть полезно, но HTTP-клиентские программы & библиотеки доступны, поэтому я бы просто использовал это в наши дни.

1

Файл-связь (например, через FTP, SFTP, SCP ...) хорошо для

  • перенося большие объемы данных
  • пакетных сценариев эксплуатации
  • асинхронной связи

Нет ничего плохого в использовании файлов. Это хорошо понятная зрелая технология, проста в применении, легко отслеживается и отлаживается.

Смежные вопросы