什么时候使用FTP好?

时间:2010-05-19 11:35:59

标签: architecture ftp file-transfer

根据我的经验,我看到很多架构图,它们广泛使用FTP作为链接架构组件的媒介。

作为一个不做出架构决策但倾向于查看架构图的人,任何人都可以解释使用FTP的价值,适当的地方以及将数据作为文件传输时是个好主意。

我知道通常遗留系统只需要以这种方式工作 - 尽管任何历史见解都会很有趣

我可以看到传输文件的吸引力(特别是如果那是需要转移的东西),因为它的简单性和熟悉性,以及如果推理超出此范围而感到奇怪。

编辑:感谢那些指出SFTP更受欢迎的人,但是我的问题比想要文件传输协议的建议更广泛。对不起,感到困惑。

7 个答案:

答案 0 :(得分:8)

什么时候使用FTP好?

在发明SFTP之前。


解决编辑问题(也就是此问题中更广泛的问题)

这一切都取决于预期用途。看看你的情况并确定

  • 我要移动哪些数据?
  • 它本身生成的格式是什么? (PDF在磁盘上,文本输出来自网络服务器脚本等)
  • 如何消耗数据?
  • 数据何时消耗? (即将到达,预定的批量作业?)
  • 什么连接介质连接数据生成器和数据使用者?

例如:

进程通过将PDF文档写入本地raid-array来生成PDF文档。您有另一台PC专门用于打印从连接到本地千兆局域网的众多服务器生成的所有PDF,这些服务器通过计划在午夜运行的计算机作业。

鉴于数据很可能太大而不能全部放在打印服务器的RAM中,因此使用SFTP传输PDF是有意义的,这样就可以在打印时从磁盘中抓取它们。

另一个例子:

计算机需要以临时方式从计算机中获取大量小文件,解析它们并将结果存储在数据库中。在这种情况下,使用SFTP将它们从磁盘移回到另一个磁盘以立即读取并推送到DB中只是愚蠢的。在解析并推送到数据库之前,没有理由将较小的文件放入RAM中,因此SFTP可能不是最佳解决方案。

答案 1 :(得分:4)

如果您需要向最大的回水区域发送实体信函,则很难超过2000 year old postal服务。如果您需要将文件发送到回水功能的地方,则很难超过40 year old Postel service

答案 2 :(得分:3)

某些lecacy系统使用文件夹以XML或CSV等方式传输数据,在这些情况下,需要将文件写入磁盘。如果要集成到网络外/互联网上的其他系统,那么在FTP站点上提供这些系统是有意义的。较新的系统可能使用WebServices或其他“线上”技术来减少对磁盘的保存。如果这些文件非常大,FTP可能是更好的解决方案。

在某些行业,例如印刷行业,大型PDF文件是通过各种工作流程的路线,其中PDF文件通过此工作流程进行处理,操作等。在印刷行业中,使用文件夹(以及FTP)是常见的,他们通常将这些称为“热文件夹”

答案 3 :(得分:3)

如果安全无关紧要,那么FTP就很有用。

但是,考虑到现代选项,我可能永远不会使用它,而是选择SFTP / SCP / rsync或HTTP(可能使用WebDAV)。首先,这些协议都有更好的安全性选项(HTTP至少通过SSL)。而且,它们是更简单的协议。 FTP具有令人讨厌的问题,即实际数据通过单独的连接传输而不是控制命令,这使得防火墙更加困难。此外,在非被动模式下,该连接是从服务器到客户端,使防火墙几乎成为一场噩梦。如果有传统的互操作需求,它可能是有用的,但HTTP客户端程序&图书馆随时可用,所以我最近只是使用它。

答案 4 :(得分:1)

FTP是一种简单的跨平台传输文件的方式,如果你有一个可靠的连接,并且绝对不需要任何安全性(不要因为它问你有关密码的愚弄 - 那里没有真正的安全性)。

很多时候,人们实际上需要安全性,但是他们犯了使用FTP的错误,因为他们只是相信这就是所做的。更好的方法是使用SFTP(我喜欢OpenSSH的实现),或使用安全的Web服务传递数据。

当然,正确实施SFTP意味着实施者必须正确生成,存储和交换密钥,并了解信任的工作原理。通常这对他们来说太费劲了,所以人们往往只是走简单的路线并使用FTP。如果你问我,有点难过。

答案 5 :(得分:1)

基于文件的通信(如通过FTP,SFTP,SCP ......)适用于

  • 传输大量数据
  • 批量操作方案
  • 异步通信

使用文件没有任何问题。它是一种易于理解的成熟技术,易于应用,易于监控和调试。

答案 6 :(得分:-1)

我想安全和断开连接的网络或网段可能会发挥作用。我有各种需要从不同系统导入数据的项目,FTP是一种通过防火墙获取数据的简单/安全方式。通常,您可以将其安排为自动运行,并且大多数网络安全人员都可以使用FTP端口打开。