Mule ESB与Spring Integration的区别

9
Mule ESB项目在其网站上解释了与Spring Integration的差异(link1),但关于文档中的dcterms.date(2012-07-19T18:43-03:00),该文本可能已过时。
引用段落的主要要点如下: - "Spring Integration采用面向应用的方法进行集成" - "与其实现共享总线不同,Spring Integration旨在为特定应用程序提供少量的ESB风格集成" - "Spring Integration最适合需要集成少量组件的情况,通常是内部集成" - "Spring Integration支持的传输和转换器非常少" - "Spring Integration的范围故意限制在Spring Portfolio上下文中的小规模集成"
这些观点仍然有效吗?是否存在更详细且更新的比较?
最近,Spring Portfolio 添加了一个名为 Spring Integration 的新组件,它允许在 Spring 框架内创建和管理类似于 ESB 和 EIP 的功能。Spring Integration 采用的是“应用程序中心”的集成方法。
与实现共享总线不同,该总线允许集成和消息在组件和系统之间进行集中管理、管理和配置,Spring Integration 旨在通过提供实现常见 EIP(如消息总线和简单路由)的框架,为特定应用程序提供“少量”ESB风格的集成。
由于其范围有限,Spring Integration 最适合需要集成少量组件的情况,通常是内部集成,并且相关基础设施由大量其他 Spring 组件组成。对于更复杂的任务,Spring Integration 由于缺乏公共总线以及年轻项目所支持的非常少量的传输和转换器,因此不适合完成任务。
在 Spring 环境中使用 Mule ESB 来处理集成的优点在于,Mule ESB 不仅仅是一个 ESB - 它还是一个集成平台。而 Spring Integration 的范围故意局限于 Spring Portfolio 上下文中的小规模集成,Mule 的有意 modularity 架构允许团队快速为任何场景提供最轻量级的集成解决方案,从简单的点对点集成到复杂的 SOA、云和合作伙伴生态系统场景。
1个回答

22

全面披露:我是Spring Integration项目的前负责人,已经担任该项目的提交者超过10年。

虽然Spring Integration确实促进了应用程序内的模块化和松耦合,但它也非常适合将系统集成在一起,而无需中央ESB。我个人知道许多非常大的企业仅使用Spring Integration将其所有业务系统集成在一起,而无需配置/管理中央总线服务器。

它的POJO编程模型使得定制/扩展非常容易;如果某些传输/协议不被支持,可以简单地将其包装在POJO中并调用它(或考虑编写更正式的适配器并将其贡献回框架!)。

我们特别兴奋的是它构成了新的重要Spring Cloud Stream的基础。

你可能想看一下DZone最近的企业集成指南,其中讨论了Spring Integration以及竞争技术。


5
从架构上看,ESB和Spring集成非常不同。Spring是点对点的集成,而ESB是一种集中式的方法。在我看来,它们是不能相比较的。 - Junchen Liu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接