web-services - 消息总线和 MOM - 同样的事情?

标签 web-services soa messaging message-queue esb

消息总线架构上的每一个描述似乎都描述了一个用于路由消息的集中中介:

Each application has a single connection to the message bus instead of multiple dedicated connections to each of the other applications.



http://msdn.microsoft.com/en-us/library/ff647328.aspx

Structure the connecting middleware between these applications as a Message Bus that enables them to work together using messaging.



http://www.eaipatterns.com/MessageBus.html

Service Bus is messaging infrastructure that sits between applications allowing them to exchange messages in a loosely coupled way for improved scale and resiliency.



http://www.windowsazure.com/en-us/home/features/messaging/

这些描述似乎与 Message Broker 架构相同;使我相信以下几点:

术语“消息总线”实际上与“MoM”相同 - 一个通用术语,用于指代消息传递基础设施,但没有明确提及拓扑。 IE。 Message Broker 是一种消息总线。

这似乎是一个有争议的话题,虽然在 SO 上有一些类似的问题,但没有(IMO)明确的答案。

附言我知道企业服务总线完全不同,它实际上是一个“功能丰富”的 MoM。

最佳答案

你是对的,这个领域的术语非常困惑,没有明确的答案,但这是我从职业生涯中的观点:

首先要做的是在不同的抽象层次上思考这个问题——架构概念与产品。

消息总线 (http://www.eaipatterns.com/MessageBus.html) 通常被称为架构原则,用于将应用程序与规范数据格式 (http://www.eaipatterns.com/CanonicalDataModel.html) 分离),无论技术如何。通常使用 MoM 产品实现。

MoM 通常是指一系列实现异步消息传递的中间件产品。通常构建支持标准,例如 JMS 和 AMQP(通常是 WebSphere MQ、ActiveMQ、Azure 消息传递、hornetQ、RabbitMQ 等)。

消息代理通常是 MoM,这两个术语都用于同一个消息传递产品。这里可能会引起混淆,因为 IBM 的主要 ESB 产品称为 WebSphere Message Broker,而它是与 MoM 产品 - WebSphere MQ 一起使用的 ESB。通常大多数 MoM 称自己为 broker,例如 RabbitMQ、ActiveMQ、QPid 等。

希望这不会引起更多的困惑:)

关于web-services - 消息总线和 MOM - 同样的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070227/

相关文章:

laravel - 简化存储库模式和SOA的实现

jakarta-ee - SaaS - Java 中的 Multi-Tenancy 独立数据库模型实现

java - 用于在 SOA 环境中实现请求-响应类型应用程序的框架/协议(protocol)/工具

java - 什么是简单英语的 "transactional unit of work"?

java - Qpid Java 6.0.1 或 Qpid JMS 和 Qpid Proton

java - JAX-WS 连接不会关闭,并在 x 条消息后停止消息传递

java - 将 Websphere 7 配置为对所有请求使用单个 JAX-WS 服务实例

java - 是否有用于 Linux 的 SOAPUI 的命令行替代方案,用于将 SOAP 发送到 HTTPS 服务?

.net - 尝试将 Android 应用程序连接到 .NET ".svc"Web 服务和服务器响应不支持媒体类型

android - 在本地主机的 Android 应用程序中使用 Web 服务