gpt4 book ai didi

.net - 使用大文件作为消息负载进行发布/订阅

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:36 29 4
gpt4 key购买 nike

我们现有的系统可以持续处理大量文件。粗略地说,每天大约有 300 万个文件,大小从几千字节到超过 50 MB。这些文件从接收到完成使用会经历几个不同的处理阶段,具体取决于它们所采用的路径。由于这些文件的内容和格式,它们无法分解为更小的 block 。

目前,这些文件移动的工作流程是严格的,并且由具有固定输入和输出的代码决定(在许多情况下,一个订阅者成为一组新文件的发布者)。然而,缺乏灵 active 开始给我们带来问题,因此我正在寻找某种发布/订阅解决方案来处理新的需求。

大多数传统的发布/订阅解决方案都在实际负载中包含数据,但潜在的大文件大小超出了许多消息传递平台的限制。此外,我们还拥有多个平台:文件根据其路径在 Linux 和 Windows 层中进行。

是否有人有任何考虑到以下目标的设计和/或实现建议?
1. 发布和订阅的多平台(Linux 和 Windows)
2. 持久存储/存储转发支持
3. 可以处理大型事件负载,并在所有订阅者都得到服务后进行适当的清理
4.路由/工作流通过配置完成
5. 订阅者可以根据不断变化的条件订阅一组经过过滤的已发布事件(例如,仅向我提供特定类型的文件)

我已经深入研究了许多服务总线和 MQ 实现,但还没有完全确定足够的设计方法来正确评估哪些工具最有意义。感谢您的任何意见。

最佳答案

A1。我在之前的工作中开发了类似的系统。我们没有在消息中传递多 MB 的有效负载,而是将其存储在文件服务器上,并且仅传递 UNC 文件名(消息传递是 Java RMI,但几乎任何东西都可以工作)。

A2。我最近开始使用Windows Communication Foundation。对我来说幸运的是,我只支持Windows,而且我不需要这么大的消息。然而,文档称该协议(protocol)是独立于平台的,并且可以选择使用其 streaming message transfer 传递大量数据。功能。

在这两种情况下,我认为您都必须在自己的代码中满足 #4 和 #5 要求。

关于.net - 使用大文件作为消息负载进行发布/订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3620812/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com