首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EAI/中间件:内联或引用的巨大消息

EAI/中间件:内联或引用的巨大消息
EN

Stack Overflow用户
提问于 2009-08-17 20:46:16
回答 2查看 340关注 0票数 2

是否有处理处理大量数据(MBytes )的消息或请求/响应的良好做法?GBytes?)通过中间件或EAI系统,认为中间件传输但不处理巨大的数据块?

  • 用消息传输数据,以保持一致性,但可能会多次在系统之间复制大量数据。
  • 将数据保存在存储区或数据存储库(文件系统、数据库、.)并传输对数据的引用,但这会使消息和数据之间的紧密耦合变得松散。

这个问题的共同解决办法是什么?EAI或中间件产品如何支持这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-30 14:59:57

根据我的经验,限制消息的大小是很好的。在我知道的环境(Websphere,SonicMQ)中,我发现5-10MB对于大多数消息来说是一个很好的值。在许多情况下,只有很少的大小可达100 MB的->的消息并不会有什么坏处,但是您必须考虑内存消耗,.在大多数消息传递API中,特别是JMS中,至少一次将消息完全存储在内存中,这可能会使您在启动并行处理时感到头疼。

我们有两种解决办法:

  • 使用消息序列模式并添加一些内容:大多数情况下,我们发送一个包含所有序列号引用的触发器,以确保完整性
  • 发送到数据的“链接”

通常,当消息包含结构化数据时,我们使用第一种解决方案,在媒体分发的情况下使用第二种解决方案。

对于第一个解决方案,我们也倾向于不使用提供特定的解决方案,而是在我们的自定义实现中实现这个逻辑--因此,我们不绑定到特定的消息传递系统。

票数 0
EN

Stack Overflow用户

发布于 2009-09-22 16:08:46

如果在源系统和目标系统之间建立直接连接是可行的,那么只通过消息发送引用来启动传输将有效,但是,正如您注意到的,您失去了松耦合。

根据“企业集成模式”一书,您可以实现消息序列模式

根据我对EAI系统(如TIBCO )的经验。这很大程度上取决于您如何处理任意数量的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1290324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档