【问题标题】:IBM MQ for file transfer [closed]用于文件传输的 IBM MQ [关闭]
【发布时间】:2026-02-18 14:35:01
【问题描述】:

我们面临着使用 IBM MQ over SFTP 进行文件传输的选择。我听说过这种方法的优点,但我从未见过有人真正将它用于大文件。

所以主要问题:IMB MQ 处理大文件(最大 100 MB)传输的能力如何?稳定吗?它是从大型机到 UNIX 服务器,如果有关系的话。

非常感谢。

【问题讨论】:

    标签: ftp message-queue file-transfer ibm-mq


    【解决方案1】:

    我使用 MQ 处理的文件最大为 8GB,没有发生任何意外。您必须为 MQ 分配足够的空间来管理它们,但它确实有效。

    【讨论】:

    • 非常感谢!这正是我需要听到的。
    【解决方案2】:

    MQ 本身提供程序之间基于消息的通信。您不能直接使用它来传输文件。人们谈论“通过MQ发送文件”通常意味着他们将自己编写程序以从文件中读取,通过MQ发送,从MQ接收并写入另一个文件。起初这听起来微不足道,但如果你想让它变得健壮,很快就会变得非常复杂。不推荐。

    如果您想让 MQ 参与文件传输,您应该应该做的是使用 MQ 上的文件传输产品之一。有许多成熟的产品,我对此几乎一无所知,包括 IBM 本身的新产品(“Websphere MQ 文件传输版”),它正在积极开发中,最近宣布了更新版本 (7.0.1)。

    为了回答您的具体问题,我个人使用 WMQFTE 将 1000GB 的文件从 AIX 机器传输到 Windows 机器,所以我认为您的“大”100MB 文件不会成为问题 :-)。我不太喜欢大型机,但它是 FTE 的核心平台。

    【讨论】:

    • 你说的是真的,我也看过这个文件传输版。当然,这将是最好的解决方案。不幸的是,我必须在相当僵硬的环境中工作,即使增加 MQ 消息的最大大小也是一个很大的问题。安装新产品不太可能获得批准。谢谢。
    • @to-be-no-one:增加 MAXMSGL 是一个大问题是有充分理由的。调整任何异步消息以同时处理非常大和非常小的消息是困难的或不可能的。您将增加 MAXMSGL 视为一种免费解决方案,并得出结论,由于价格原因,FTE 的机会较少。但是对于除了最随意的用户之外的所有人来说,像 FTE 这样的产品实际上比试图将 100MB 文件塞进一条消息中的单个消息更划算,而管道上的消息已调整为更小的消息。更多信息在这里:ibm.com/developerworks/websphere/techjournal/0804_mismes/…
    【解决方案3】:

    供应商通过 WebSphere MQ 等消息传递系统进行文件传输已超过 12 年。我没有使用过 IBM 产品。然而,直到最近,我才知道 IBM 转售了 Metastorm 的产品(品牌 PM4Data),并且直到最近才以第一代产品进入市场。

    我一直看到Metastorm Integration Manager 处理 TB 大小的文件;跨 WebSphere MQ 拆分消息并执行缓冲区确认,以免消息队列溢出或不必执行大量 MQ 管理。

    与 SFTP 相比,使用消息传递系统进行文件传输的其他值得考虑的因素包括:

    1. 数据移动前后处理 - 作为一种网络传输,SFTP 移动数据(就像通过 WebSphere MQ 进行的文件传输产品一样)。要进行移动前或移动后处理,您必须编写自己的监控、触发、错误处理等。在消息空间上进行文件传输的成熟供应商为您提供开箱即用的基础设施。根据您的应用,他们还可以提供帮助
    2. Audit Trail - SFTP 通常提供系统级日志记录。通常,通过 MQ 提供文件集成的供应商具有更强大的审计功能,包括数据移动前和数据移动后处理。一些供应商还提供基于 Web 的安全系统,以便向授权用户公开某些集成。
    3. 异常处理 – SFTP 将提供同步错误消息,然后您可以从中编写错误逻辑。通过 MQ 提供文件集成的供应商通常会提供异常功能,从“这里有一条消息在队列中表示问题发生……祝你好运”到基于 Web 的控制台甚至 BPM 系统的内置集成。
    4. 将文件传输视为服务 – 通常,文件传输是更大业务流程的一部分。一些供应商利用它来链接文件传输,甚至让他们与以人为中心的流程协作,以提供围绕点对点文件传输上下文的端到端可见性。此外,使用消息系统进行文件传输有助于将组织转移到更实时、消息驱动的方法。

    我希望其他详细信息可以在您的评估中提供一些详细信息。祝你好运!

    【讨论】:

    • 感谢您提供的信息,但其中大部分我已经听说过或读过。我真的对我提出的问题很感兴趣。
    【解决方案4】:

    在之前的一个答案中,有如下声明:

    人们谈论“通过 MQ 发送文件”通常意味着他们将自己编写程序以从文件中读取、通过 MQ 发送、从 MQ 接收并写入另一个文件。起初这听起来微不足道,但如果你想让它变得健壮,它很快就会变得非常复杂。不推荐。

    理论上,“通过 MQ 发送文件”会很好,因为当收件人从队列中获取(读取)文件时,您会收到一条发送确认 (CoD) 消息。另一个好处是,当收件人从队列中获取(读取)文件时,该文件将自动从队列中删除。

    您是否知道 MQFTE 是否提供上述(或类似的)服务?

    【讨论】:

    • 是的,FTE 中也有类似的功能,尽管它不依赖 COD。根据传输的启动方式,发送方可以等待传输完成,也可以订阅主题以接收传输的状态消息。
    【解决方案5】:

    Capitalwares Universal File Mover 是这里的一个选项。

    WebSphere Message Broker for Remote Adapter DeploymentWebSphere MQ File Transfer Edition 也是要考虑的选项。

    【讨论】: