Dependency injection 数据集成软件和ESB之间有什么区别?

Dependency injection 数据集成软件和ESB之间有什么区别?,dependency-injection,apache-camel,mule,pentaho,esb,Dependency Injection,Apache Camel,Mule,Pentaho,Esb,我一直在从事一个项目,该项目从各种第三方数据源收集数据,并将数据存储到我们的数据存储(DI)中。为此,我们一直在使用Pentaho 我想知道这是否也可以通过ESB(Camel或Mule)实现? ESB还带来了哪些DI不提供的特性 我已经阅读了很多关于ESB和DI的文章,但是没有一篇能够解决这个问题。我还阅读了有关第三方数据源的mule数据连接器的信息。DI(数据集成不是“依赖注入”)或ETL方法倾向于长时间运行的批处理式作业,以实现将数据从系统A移动到系统B的解决方案。ESB或轻量级集成方法通常

我一直在从事一个项目,该项目从各种第三方数据源收集数据,并将数据存储到我们的数据存储(DI)中。为此,我们一直在使用Pentaho

我想知道这是否也可以通过ESB(Camel或Mule)实现? ESB还带来了哪些DI不提供的特性

我已经阅读了很多关于ESB和DI的文章,但是没有一篇能够解决这个问题。我还阅读了有关第三方数据源的mule数据连接器的信息。

DI(数据集成不是“依赖注入”)或ETL方法倾向于长时间运行的批处理式作业,以实现将数据从系统A移动到系统B的解决方案。ESB或轻量级集成方法通常是将任务分解为更小的部分(数据块或每个数据项的单个事件)并允许其他系统订阅数据流——通常通过企业消息传递系统订阅——而不必影响系统A、系统B或现有代码项目。这也意味着项目计划中没有人的依赖性要求。如果出现系统C,它们不一定需要来自系统B团队的资源来访问数据流

在任何给定的环境中,都有合适的用例可以同时使用这两个用例。然而,根据我的经验(大数据/MDM最佳实践倾向于同意),如果您有一个原始数据流,其他一些系统也会希望在某个点访问该数据流。如果访问数据流而不必更改组织中现有的代码、系统或其他团队的能力在您的用例中听起来很有用,那么最好提前设计并使用ESB方法。这允许新的感兴趣的消费者加入,而不必重写现有系统使用的流程。ESB/轻量级集成系统倾向于比DI/ETL工具更有效地支持这种设计模式

一些随意的想法:

  • ESB支持“一个坏记录问题”,允许您将其路由到一个错误队列,让人查看,然后重新发布
  • ETL/DI往往具有直线愉快路径速度优势
  • 一旦越过简单的点到点集成用例,ETL/DI就开始变得复杂
  • IMHO:ESB更好地支持数据集、服务和数据模型的版本控制
  • ETL/DI倾向于为非技术用户提供更成熟的UI来执行数据映射任务
  • ESB在支持系统的运行时解耦方面非常强大。如果系统B关闭,数据将一直处于队列中,直到返回。没有长时间运行阻塞线程或必须重新启动作业的风险
  • ESB具有略高的上升曲线
  • ETL/DI通常最终导致ESB(大多数供应商同时提供DI和ESB产品)
DI(数据集成而非“依赖注入”)或ETL方法往往是长时间运行的批处理式作业,用于解决将数据从系统A移动到系统B的问题。ESB或轻量级集成方法通常是将任务分解为更小的部分(数据块或每个数据项的单个事件)并允许其他系统订阅数据流——通常通过企业消息传递系统订阅——而不必影响系统A、系统B或现有代码项目。这也意味着项目计划中没有人的依赖性要求。如果出现系统C,它们不一定需要来自系统B团队的资源来访问数据流

在任何给定的环境中,都有合适的用例可以同时使用这两个用例。然而,根据我的经验(大数据/MDM最佳实践倾向于同意),如果您有一个原始数据流,其他一些系统也会希望在某个点访问该数据流。如果访问数据流而不必更改组织中现有的代码、系统或其他团队的能力在您的用例中听起来很有用,那么最好提前设计并使用ESB方法。这允许新的感兴趣的消费者加入,而不必重写现有系统使用的流程。ESB/轻量级集成系统倾向于比DI/ETL工具更有效地支持这种设计模式

一些随意的想法:

  • ESB支持“一个坏记录问题”,允许您将其路由到一个错误队列,让人查看,然后重新发布
  • ETL/DI往往具有直线愉快路径速度优势
  • 一旦越过简单的点到点集成用例,ETL/DI就开始变得复杂
  • IMHO:ESB更好地支持数据集、服务和数据模型的版本控制
  • ETL/DI倾向于为非技术用户提供更成熟的UI来执行数据映射任务
  • ESB在支持系统的运行时解耦方面非常强大。如果系统B关闭,数据将一直处于队列中,直到返回。没有长时间运行阻塞线程或必须重新启动作业的风险
  • ESB具有略高的上升曲线
  • ETL/DI通常最终导致ESB(大多数供应商同时提供DI和ESB产品)

Matt,你的答案已经足够了,但我想在这里显示更多答案!马特,你的答案已经足够了,但我想在这里给出更多答案!