36

我想对简单的发布/订阅架构做出明智的选择。

所以我想知道:服务总线添加了 MSMQ 不能做什么?
服务总线的缺点是什么?

谢谢你启发我!

4

2 回答 2

21

主要的功能差异是服务总线为消息交换语义提供了开箱即用的支持,例如通过发布-订阅的基于主题的路由。

另一方面,MSMQ 是一个轻量级的存储转发队列系统,它支持点对点单向消息传递。

服务总线:

  1. 取决于 SQL Server,并且
  2. 经纪人这可能被认为是一个缺点

如果您正在查看 pub-sub 框架,那么目前流行的一个(在单线程模式下免费)是NServiceBus,它位于 MSMQ 之上,尽管具有可交换的传输。

于 2013-10-03T09:47:07.897 回答
9

优点

  • Service Bus 允许您通过 tcp 和 http 发布,这很酷,并为您提供了更好的解耦。
  • Service Bus 是一个 sql 数据库,因此您的灾难恢复更简单,实施起来也更便宜。

缺点

  • 服务总线是集中的,而 MSMQ 是联合的,因此可能更具可扩展性。尽管您可以在 WSB 中使用更多节点进行横向扩展。
  • 在发布之前,您需要实时连接到中央总线。所以 MSMQ 被联合(在每台机器上)使它对客户端更可用。

然而,人们使用 MSMQ 作为服务总线的本地存储,因此在本地发布,然后在连接可用时将其推送到总线。

目前,我们在使用服务总线而不是 MSMQ 方面有很好的体验。

于 2013-10-23T17:22:39.330 回答