Abh*_*tel 4 biztalk esb nservicebus servicebus azure
我不太熟悉ESB或Biztalk,如果你已经拥有Biztalk,我试图从EAI的角度来看看最有意义的东西.据我所知,Biztalk是一个消息代理(hub和spoke),ESB模式是一个反代理,其中概念"总线"由各个分布式组件组成,这些组件以某种方式相互通信.消息代理本质上代表单点故障,而不是ESB,其中一个组件发生故障并不会导致整个"总线"失效.另外我的理解是Biztalk是单片式的,因为消息传递,编排是紧密耦合的,并且缩放是有问题的.
如果手头的情况是:
直接使用Biztalk或Biztalk ESB工具包实现ESB功能是否有意义,或者使用适当的ESB实现(例如基于Azure Service Bus的NServiceBus或Service Bus for Windows)是否有意义.使用Biztalk直接实现EAI与使用适当的ESB相比有哪些优缺点.每个应用程序是否会严格依赖Biztalk以及这是否可取?
由于没有正确或错误的答案,我将把这作为一个开放式的讨论.
@StuartLC: 谢谢你的回复.我已经阅读了您发布的几个链接,但仍然没有清楚地了解Biztalk作为ESB解决方案与使用NServiceBus之类的东西是否有意义.两者似乎都以这种或那种方式实现了"ESB"模式.问题是哪一个具有更清洁的实施,更好的开发经验和低的加速时间.到目前为止我的评估(仅来自纯粹的研究)是可以使用Biztalk,但它很痛苦,需要非常专业的开发.技能.延迟和扩展是有问题的,Biztalk最终会被同化到(Azure?)Service Bus和Biztalk SKU这一事实将不复存在.另一方面,像NService总线这样的框架具有相对较低的加速时间,可以很容易地被开发人员接收.具有良好的.NET编程技能,可以与Biztalk轻松连接.考虑到上述情况,即使您目前在内部拥有Biztalk或未来证明自己使用适当的ESB(例如NService Bus),仍然可以使用Biztalk路线吗?
我相信您的开放式问题的许多组成部分已经涵盖在SO上:
但是,IMO只是一个有缺陷/短视的实现,它会导致应用程序和端点之间的紧密耦合.容易实现松耦合:(即使没有ESB工具包):
单点故障也是可以避免的:
IMO使用BizTalk阿喀琉斯之踵时,作为ESB是缺乏保证的延迟例如这里如果BTS进入一个被exarcebated 节流状态.
更新
IMO的选择归结为您是否可以控制环境中的所有系统.
如果您正在整合一个内部企业,该企业仅包含您可以直接控制的同类,当代(以及主要是SOA和EDA)应用程序,MassTransit或者NServiceBus可能不仅仅是提供工作,而且您可以提高工作效率并缩短时间.
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |