使用BizTalk而不是NServiceBus或MassTransit的优缺点 我很好奇,它是否为Bub/Sub消息传递架构的实现提供了考虑BizTalk(基本上,您可以用NService总线或MasStAsSee来做我真正需要的)。我的经理倾向于坚持使用微软直接提供的框架,因此作为我尽职调查的一部分,我需要为双方提供一套好的赞成/反对意见。任何指导都将不胜感激

使用BizTalk而不是NServiceBus或MassTransit的优缺点 我很好奇,它是否为Bub/Sub消息传递架构的实现提供了考虑BizTalk(基本上,您可以用NService总线或MasStAsSee来做我真正需要的)。我的经理倾向于坚持使用微软直接提供的框架,因此作为我尽职调查的一部分,我需要为双方提供一套好的赞成/反对意见。任何指导都将不胜感激,biztalk,nservicebus,masstransit,Biztalk,Nservicebus,Masstransit,Biztalk是一个代理,更适合不同业务服务范围内的EAI。servicebus是完全不同的。可在此处找到比较: 如果您可以分享您的一些需求,我可能会提供更多的指导。我支持Andreas的观点-BizTalk通常更适合于“增值”集成和业务流程管理,而不是ESB类型的活动。BizTalk擅长于: BPEL 长期运行/补偿交易 EAI 中介/映射 协议更改(MQ到WCF、平面文件到SAP等) 电子数据交换 然而,人们已经努力将BizTalk用作服务总线,特别是代理的主要缺点之一是版本和升级非常

Biztalk是一个代理,更适合不同业务服务范围内的EAI。servicebus是完全不同的。可在此处找到比较:


如果您可以分享您的一些需求,我可能会提供更多的指导。

我支持Andreas的观点-BizTalk通常更适合于“增值”集成和业务流程管理,而不是ESB类型的活动。BizTalk擅长于:

  • BPEL
  • 长期运行/补偿交易
  • EAI
  • 中介/映射
  • 协议更改(MQ到WCF、平面文件到SAP等)
  • 电子数据交换

然而,人们已经努力将BizTalk用作服务总线,特别是代理的主要缺点之一是版本和升级非常困难。您必须停止消息流以升级特定端点。服务总线允许端点自治并独立升级

然后,在规模上存在差异。对于代理,趋势是向上扩展(垂直)而不是向外扩展(水平)而构建的服务总线。您还必须通过某种HA设置(通常是集群)使代理高度可用。这再加上软件的成本,可能会让人望而却步


特别是NSB将提供付费支持模式,因此,如果您的经理在出现问题时担心没有人在另一端,您可以购买支持

需要注意的是,BizTalk是用于企业应用程序集成(EAI)的服务器产品,正如Andreas所提到的那样。它比一个框架更复杂

Microsoft确实有企业服务总线工具包可在BizTalk中使用,因此您可以将BizTalk环境称为ESB。他们认为“ESB”可能不是你所考虑的ESB。您可以查看他们的ESB工具包页面(),但它包括以下内容:

  • 动态(即在运行时)消息 转换与翻译
  • 消息路由可以是基于内容、基于行程或基于上下文的,并在运行时确定
当然,发布-订阅模式与使用服务总线不同

无论您是否使用ESB工具包,BizTalk都做得很好。将单个消息发布到BizTalk“消息框”并将消息路由到任何和所有订阅者非常简单。发布子解决方案意味着BizTalk充当代理,但这有助于确保消息不会丢失,并且跟踪所有消息。BizTalk发布子解决方案具有内置的扩展点,允许我们添加、更改或删除端点,而不会影响解决方案的其余部分

综上所述,您的需求可能并不决定广泛的消息可靠性、监视和跟踪,因此BizTalk可能不是最适合您的。这是一项巨大的投资,而且由于该产品可以同时做很多不同的事情,乍一看可能会让人望而生畏


刚刚出版了一本新书《微软平台上的应用架构模式》,其中涵盖了这方面的大部分内容。该书的作者之一Richard Seroter还出版了BIzTalk Server 2009的SOA模式,如果您决定为您的公司使用BIzTalk,这将是一本必不可少的书。

由于我在回答中忽略了发布这两本书的链接,请随意使用我的Amazon.com链接:-)顺便说一句,Richard Seroter专门就NServiceBus的博客采访了我: