【问题标题】:NServiceBus vs Windows ServiceBusNServiceBus 与 Windows ServiceBus
【发布时间】:2012-07-17 16:37:33
【问题描述】:

有人能解释一下新发布的 Windows ServiceBus(内部部署,而不是 Azure)和 NServiceBus 之间的区别吗?

寻找 Windows SB 可能缺少的详细答案,因为我熟悉 NSERviceBus 可以做什么:

  1. 它是真正的服务总线,而不仅仅是使用队列的消息代理吗?
  2. 能否支持消息多态? (消息子类化其他 支持此层次结构的消息和处理程序
  3. 长时间运行的进程和相关性
  4. 向外扩展

【问题讨论】:

标签: nservicebus servicebus nservicebus3


【解决方案1】:

我负责 NServicebus 中的 Windows Azure ServiceBus 支持。在我看来,这个新的 Windows Server Servicebus 提供了与 Azure ServiceBus 完全相同的功能。所以在我看来,它与 NServiceBus 而非竞争对手(就像 Windows Azure ServiceBus 一样)将是一个很好的匹配,并且可以用来代替 msmq。

回答你的问题

  1. 新的服务总线是一个使用队列的代理
  2. 服务总线上的消息最终只是字符串,服务总线本身没有对消息类型、层次结构、处理程序等的额外支持。通常您会为此使用 WCF 或 NServiceBus。
  3. 不支持长时间运行的进程或关联。它确实与 NServiceBus 有一些功能重叠,尽管它可以执行订阅/主题,它也可以延迟消息以及过滤器。
  4. 它旨在向外扩展。

希望这有帮助吗?

亲切的问候, 伊夫

【讨论】:

  • 1.那么在 Windows 服务总线中,客户端仍然可以像在 NSB 中那样通过其本地 msmq 发送消息吗?我知道订阅是字符串而不是类型,但它仍然可以像 Bus.Send 一样使用吗?那么如果发生任何崩溃,消息首先存储在本地队列中吗? 2.你还提到Windows SB与NSB很好匹配,可以用来代替msmq?你能详细说明吗?可以描述 NSB 发布中的流程,然后消息转到 x...等等
  • 1.不,队列不是节点本地的,就像 msmq 的情况一样。因此机器需要连接到 SB 服务器才能将消息发送到队列 2。SB 队列提供 nservicebus 处理消息传递所需的持久性和事务性,与 msmq 唯一不同的是节点需要连接到正常工作。
  • Re:3 在我看来这是不正确的 - 如果这是与服务总线一起使用的 WF 的域,为什么 Windows 服务总线会重复编排功能(长时间运行、相关等)?跨度>
  • 长期运行:上面已回答。不支持消息类型:ContentType:msdn.microsoft.com/en-us/library/… 不支持关联:CorrelationId:msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多