Windows Service Bus添加到MSMQ有什么作用?

时间:2013-09-30 09:26:38

标签: c# .net msmq publish-subscribe servicebus

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

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

感谢我的启发!

2 个答案:

答案 0 :(得分:21)

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

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

服务总线:

  1. 取决于SQL Server和
  2. brokerThis may be considered a drawback
  3. 如果您正在查看pub-sub框架,那么目前流行的框架(单线程模式下免费)是NServiceBus,它位于MSMQ之上,但具有可交换的传输。

答案 1 :(得分:9)

<强>赞成

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

缺点

  • Service Bus是集中式的,MSMQ是联合的,因此可扩展性更高。虽然您可以在WSB中扩展更多节点。
  • 在发布之前,您需要与中央总线实时连接。因此联合(在每台机器上)的MSMQ使其更易于客户使用。

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

目前我们正在使用Service Bus而不是MSMQ。