消息总线和消息代理之间的区别

Zé *_*los 30 integration messaging routing eai

消息总线[1]和消息代理[2]之间的区别是什么

  • 两者都是应用程序的中间件
  • 两者都可用于解耦各种系统
  • 两者都可以具有规范数据模型
  • 两条路由消息都可以提供其他功能,例如数据转换

正如我所看到的,唯一相关的区别是用来代表每一个的图片.

如果之间存在一些差异,请告诉我什么.
如果它们是相同的,请告诉我为什么两个概念引用相同的功能.

谢谢.

[1] http://www.eaipatterns.com/MessageBus.html
[2] http://www.eaipatterns.com/MessageBroker.html

Hen*_*ann 20

消息总线意味着所有参与者所说和所理解的共同协议.总线上几乎没有逻辑.通常,消息将转发到所有连接的系统.

中心辐射体系结构(或"消息代理")有一个中心软件,可以理解发送给它的消息,可以翻译它们,并将它们转发到需要信息的系统.

  • 谢谢.根据Gregor Hohpe的"企业集成模式",消息总线内部有一个路由器.实际上,它可以支持消息交换模式,例如发布 - 订阅,因此它不是简单的消息转发器.消息总线使用规范数据模型,但应用程序可以使用适配器,因此并非所有应用程序都使用相同的数据格式.最后,你说消息代理是一个"核心软件",但是在实现之后,你可以通过相同的方式查看消息总线(所有应用程序都将消息发送到同一个端点). (5认同)

Ric*_*hea 5

首先认识到这些是从现有隐喻中采用的虚构术语,就像大多数特定领域的术语一样。没有人有权定义它们,而我们只是随着我们(行业)的发展而编造这些东西。

代理比喻与中心辐射式布局很好地配合。总线比喻在直接寻址的情况下效果更好。是什么阻止您的客户向坐在公共汽车上、轮辐式或其他方式上的众多经纪人之一发送消息?隐喻的定义开始变得有点愚蠢。

弄清楚您想要做什么并选择最适合它的产品——提示:它可能会提供所谓的总线或代理技术的特性。