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

Dav*_*vid 36 .net c# msmq servicebus publish-subscribe

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

所以我想知道:服务总线添加了什么,MSMQ不能做什么?服务总线有
哪些缺点

感谢我的启发!

tom*_*ern 21

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

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

服务总线:

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

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


jon*_*nho 9

优点

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

缺点

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

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

我们目前正在使用Service Bus而不是MSMQ获得良好的体验.