应用之间的文件传输

问题描述 投票:0回答:1

我们正在构建一个Python应用程序来接收来自另一个应用程序的文件,处理收到的文件并将处理后的文件发送回该应用程序。

对于文件传输,我们正在考虑选项SFTP和消息队列。这是我们的要求

  1. 安全地传输文件
  2. 确认文件并通知发件人应用程序任何失败
  3. 负载平衡文件处理请求
  4. 能够验证发件人应用程序发送的文件的状态

鉴于此场景SFTP或消息队列,您认为哪种更适合?我知道每个人都有自己的优点和缺点,但想要获得一些见解,并找出是否有人被忽视

python-3.x sftp message-queue messaging
1个回答
0
投票

消息驱动系统几乎完全取决于其经纪人的质量和可靠性,而且由于我没有QPID经纪人的经验,所以我无法对该决定的关键方面发表评论。但是,Qpid使用AMQP,如果您遇到选定代理的问题,切换到另一个代理不应该过于复杂。

现在已经不在了,让我们来看看你的要求。在我看来,您的需求主要是良好的消息传递系统的“自然”属性,因此您可以正确地工作,可靠地实现您的需求,而无需在文件传输协议之上层叠机制。

  • 安全地传输文件

如果正确实施,AMQP和SFTP可能与安全性相当

  • 确认文件并通知发件人应用程序任何失败

几乎自动使用适当的QPID交付保证模式,通过sftp做凌乱。

  • 负载平衡文件处理请求

通过让所有消费者都连接到同一个队列,避免双重消费以避免消息丢失的方式也很容易,只需使用sftp即可。

  • 能够验证发件人应用程序发送的文件的状态

不是100%肯定你在这里的意思,但AMQP有机制确保发送者确定消息已被代理正确接受,并且文件已被接收者正确接收和处理(手动确认模式) 。

尚未提及的一个论点是高可用性:消息代理是许多企业处理链的关键元素,具有广泛的高可用性功能,可避免停机和消息丢失。

© www.soinside.com 2019 - 2024. All rights reserved.