biztalk - BizTalk 是 ESB 吗?

标签 biztalk esb eai

我正在研究架构模式,准确地说是企业服务总线 (ESB)。看完这篇文章Enterprise Integration ,并且几乎没有经验,我想知道 BizTalk 是 ESB 还是只是 EAI(集线器/辐条或总线)?

我找到了 NServiceBus and Biztalk ,将 BizTalk 描述为中央消息代理。

考虑其他 ESB 框架(NServiceBus 和 Rhino Service Bus)。这些框架没有处理消息的中心点。

Biztalk 是 EAI 而不是 ESB?

非常感谢

最佳答案

BizTalk 被 Microsoft 抨击为具有 ESB 功能 - 请参阅 BTS ESB toolkit

然而,术语“ESB”涵盖了一个非常broad field ,并且关于 ESB 的确切定义存在很多主观性。恕我直言,BizTalk 声称作为 ESB 是全面的存在弱点(在该术语的 > 2010 定义中)。

  • BTS 起源于 Hub-and-Spoke EAI 时代,在 ESB 普及之前。
  • BTS 比同步进程更适合异步进程 - 延迟将根据系统负载、节流状态等而变化。
  • BTS 在服务和模式的版本控制方面很麻烦(需要新的部署)
  • BTS 在管理许多服务时很麻烦(例如,使用 BizTalk 作为企业所有 5000 个 SOA/Web 服务的外观会很痛苦)

  • FWIW 我们发现 BTS 非常适合:
  • 我们所有的同步和异步 EAI(即主要 LOB 系统之间以及与贸易伙伴之间的正式集成契约(Contract)),以及大量适配器有助于集成大量协议(protocol)。
  • 用于业务流程和业务监控功能
  • 解决事务和交付可靠性问题 - Biztalk 具有重试、跟踪和恢复暂停消息的能力,这在不可靠的网络或与不可靠的系统集成时很有用。

  • 更新 ,还有一些比较经验
  • BTS 非常集中——最终,即使是多服务器 BizTalk 集群/组也依赖于 Sql-Server。基于队列的 ESB 产品往往更加分散(在逻辑上和物理上),因此丢失一些端点或队列服务器不应拖垮整个企业。
  • 许多基于队列的 ESB 都是基于开源技术构建的,着眼于避免单一供应商锁定
  • 许多当代 ESB 似乎采用 commodity-computing横向扩展的方法。使用 BizTalk 等产品进行扩展可能会变得昂贵。
  • 从好的方面来说,不应低估 BTS 等商业产品的监控和管理功能 - 确保您正在考虑的任何 ESB 具有足够的审计、检测、重试和诊断(WMI/SNMP/SCOM 等)功能 - 您将需要一个仪表板来监控您的总线的运行状况,没有什么比不知道消息去了哪里更糟糕的了。在这里,集中管理和诊断是一个优势。
  • 关于biztalk - BizTalk 是 ESB 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355082/

    相关文章:

    apache-camel - Apache Camel 的替代品是什么

    xml - 在输出中的元素上显式显示默认命名空间

    Biztalk编排逆向工程师

    ssl - BizTalk WCF-BasicHttp 适配器不允许服务证书 Prop 的空字符串

    biztalk - 升级的属性不会显示在发送端口过滤器中

    Talend 提取 Json 字符串作为键值数组

    c# - 如何使用 SOA 架构实现松散耦合

    java - UltraESB 启动错误

    integration - 如何使用功能点来评估 EAI 项目?