Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routing 消息总线和消息代理之间的区别_Routing_Integration_Messaging_Eai - Fatal编程技术网

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

Routing 消息总线和消息代理之间的区别,routing,integration,messaging,eai,Routing,Integration,Messaging,Eai,消息总线[1]和消息代理[2]之间有什么区别 两者都是应用程序的中间件 两者都可用于解耦各种系统 两者都可以有一个规范的数据模型 这两种方法都可以路由消息,还可以提供数据转换等其他功能 正如我所看到的,唯一相关的区别是用来代表每一个人的图片 如果两者之间有什么不同,请告诉我。 如果它们是相同的,请告诉我为什么两个概念引用相同的功能 谢谢 [1] [2] 消息总线意味着所有参与者都能说出和理解的共同协议。公共汽车上几乎没有逻辑。通常,消息会转发到所有连接的系统 中心辐射式体系结构(或“mes

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

  • 两者都是应用程序的中间件
  • 两者都可用于解耦各种系统
  • 两者都可以有一个规范的数据模型
  • 这两种方法都可以路由消息,还可以提供数据转换等其他功能
正如我所看到的,唯一相关的区别是用来代表每一个人的图片

如果两者之间有什么不同,请告诉我。
如果它们是相同的,请告诉我为什么两个概念引用相同的功能

谢谢

[1]

[2]

消息总线意味着所有参与者都能说出和理解的共同协议。公共汽车上几乎没有逻辑。通常,消息会转发到所有连接的系统


中心辐射式体系结构(或“message broker”)有一个核心软件,它可以理解发送给它的消息,可以翻译这些消息,并将它们转发给需要信息的系统。

关于message broker和Enterprise Service Bus之间的区别,mulesoft的解释很好-

引用文章:“企业总线:……虽然它(即消息代理)仍然被用作从系统到系统传递消息的中央路由组件,但总线体系结构试图通过将一些集成任务分发到网络的其他部分来减轻单个组件的功能负担


然后,可以通过配置文件将这些组件分组到各种配置中,以尽可能最有效的方式处理任何集成场景,并且可以托管在基础架构内的任何位置,或者复制这些组件以实现跨大地理区域的可扩展性。”

首先要认识到,这些术语是从现有隐喻中提取出来的,就像大多数特定领域的术语一样。没有人有权定义它们,相反,我们只是在我们(行业)前进的过程中编造这些东西

代理隐喻与中心辐射式布局配合得很好。总线隐喻在直接寻址情况下效果更好。是什么阻止了您的客户向坐在巴士上的多个代理中的一个发送消息?隐喻的定义开始变得有点愚蠢


弄清楚你想做什么,然后选择一款最适合你的产品——提示:它可能会同时提供所谓的总线或代理技术的特性

根据Udi Dahan的经验(发明NServiceBus的人):“。总线架构风格[与代理架构风格]正交。代理倾向于更符合[技术]系统边界[一个系统是一个团队构建的iOS移动应用程序,另一个系统是另一个团队构建的Java后端,…]服务和总线架构风格与许多系统的构建方式是正交的/交叉的”。(如今,您通常由一个团队按照DDD构建特定的服务。服务提供特定受限上下文的业务功能,例如,可以由iOS应用程序或后端使用的支付服务)


谢谢。根据Gregor Hohpe的“企业集成模式”,消息总线内部有一个路由器。事实上,它可以支持诸如发布-订阅之类的消息交换模式,因此它不是一个简单的消息转发器。消息总线使用规范的数据模型,但应用程序可以使用适配器,因此并非所有应用程序都必须使用相同的数据格式。最后,您说MessageBroker是“软件的核心部分”,但在实现之后,您可以用相同的方式查看message bus(所有应用程序都将消息发送到同一个端点)。谢谢,非常简洁的解释,两天后进行一次考试,这将有所帮助!欢迎来到堆栈溢出!虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。更正:这是对Mulesoft如何区分这些术语的解释,无论是好是坏——实际上是坏。在书中,他们说消息代理是“与单个设计模式相反的架构模式”(第324页)。我认为消息总线可以是消息代理的一种类型,……但并非所有的消息代理都是消息总线。我怀疑在实践中,两者之间有很多重叠。但你是对的,区别并没有那么清楚。我已经考虑了好几天了,是为了做一个演示。