代码之家  ›  专栏  ›  技术社区  ›  Chiron

Apache Camel和其他ESB产品

  •  71
  • Chiron  · 技术社区  · 15 年前

    嘿,
    如果我们有apachecamel,为什么还要使用其他解决方案,比如apacheservicemix和Mule?

    何时使用Mule/ServiceMix,何时使用Camel?

    7 回复  |  直到 7 年前
        1
  •  73
  •   Ed Ost    14 年前

    Mule也可以嵌入到不同的环境中,但是我认为Mule在将它们的EIP库与它们的容器耦合上有其优点和缺点。当您在servlet或ejb环境中部署Mule时,您真的想携带Mule容器的所有行李吗?我不是一个骡子专家,我认为你可以花费相对温和的努力,清除一些多余的能力。(请注意,这在所有情况下都是不错的功能,如果您在另一个容器中运行embedded,这只是多余的功能。)

    apacheservicemix是一个OSGI容器,它使用Camel实现EIP作为ESB的基础。尽管ServiceMix历史上起源于JBI,但它已经从JBI转移到了(IMO)一个很好的分层体系结构,它在OSGI容器中结合了同类最佳的apachecxf、Camel和ActiveMQ。这里的主要价值并不是真正的ServiceMix及其JBI支持,而是底层的OSGI容器 标准 标准 基于容器是主要的,它的基本特性Mule(和Java一般)没有解决的是依赖关系管理。

        2
  •  77
  •   mtpettyp    10 年前

    现在已经是2016年了,这个问题一开始就被问到了,现在已经发生了很大的变化,所以我想为新的观众重新回顾一下。

    从战略上讲

    • 一直忠于自己的根 而且还没有发展成为一个重量级的运行时平台。它是多功能和模块化的,可以运行:

      1. 嵌入的 在任何类型的Java容器中(servlet容器、应用服务器、Spring引导)。
      2. 独立的 作为一个Java进程。
      3. ( Apache Karaf
    • ApacheCamel一直在不断发展,每月都会获得一次牵引力和活动,正如我从中提取的这一点下的图表所描绘的那样 OpenHub . 用户群也在不断增加。

    Apache Camel Contributors per Month

    非常适合评估或生产前使用。

    =>意味着您应该获得 付费企业订阅

    • 实际上,muleesbcommunityedition是在 CPAL license . 这意味着如果您仍然决定使用这个版本,Mule 要求 :

      • 广告 你用骡子造的东西都是用骡子跑的。

      • 如果您的Mule ESB部署是通过网络访问的(因为它是一个集成平台,所以它总是会访问的!),您还必须将部署源提供给访问它的任何人。

    • 正如上面提到的其他人所说,apachecamel是一个完全开放的项目,由 为了社区,为了社区 gated community .

    • Here is what Google Trends has to say about Mule ESB vs. Apache Camel . 注意,我使用的是新的语义 话题 . 这样我们就不是在衡量动物(骡子和骆驼)的受欢迎程度,而是在衡量软件的受欢迎程度!解读:从2007年到2011年,Mule呈大幅下降趋势,而阿帕奇骆驼则呈上升趋势。自2011年以来,骡子已经停滞不前,而阿帕奇骆驼保持健康的趋势!

    Mule vs Camel in Google Trends

    Apache Camel的技术演进

    我只是想给你一些关于ApacheCamel自2010年9月25日以来的发展的功能指标,当你最初问这个问题的时候。 This was the source tree at that point in time .

    期末笔记

    apachecamel是完全开源的,而muleesb社区则要求用户为Mulesoft添加属性,并发布使用Mule的软件的源代码。Apache软件许可证是 商务友好型 许可证:您可以自由使用Camel,无需任何属性或任何其他要求。真的吗 像啤酒一样免费

    希望这些对过去几年的反思能对新观众有所帮助!:)


    免责声明:我是apachecamel项目的提交者和PMC成员。

        4
  •  5
  •   Trynkiewicz Mariusz    15 年前

    Camel是一个中介引擎,而Mule是一个轻量级的集成平台。区别在于Mule提供了ESB的所有功能,包括用于部署应用程序、REST和Web服务的容器。Mule可以以与Camel相同的方式嵌入,以允许应用程序开发人员将应用程序代码与其集成代码嵌入其中。两者与弹簧紧密结合。

    Mule不使用JBI for good reasons 现在JBI规范已经解散(没有工作组,由最初传递JBI规范的Oracle拥有),没有很好的专业或技术理由使用JBI。

        5
  •  4
  •   Claus Ibsen    15 年前
        6
  •  0
  •   Trynkiewicz Mariusz    15 年前

    克劳斯,骆驼问答中有很多错误,毫不奇怪,没有一个是对我们有利的:)

    • Mule中的UMO模型已不在Mule中。我们开始从Mule 2中的那个模型开始,它在Mule 3中已经完全改变了。我们现在有了一个非常简单的消息处理器模型,这使得您对它的陈述显得多余
    • Mule已经有显式类型转换有几年了,这不是Camel的区别
    • OSI approved CPAL 1.0 license . 这是一个开源许可证,不是商业许可证。请尽快更新
        7
  •  0
  •   Naveen Raj    11 年前

    首先,您需要了解服务组合就像一个可以运行apachecamel代码的容器,muleesb本身就是一个独立的产品

    您可以在ESB产品之间提供许多差异。

    1. 产品如何开发
    2. Its许可
    3. 其支持功能
    4. 是否开源
    5. 如果是开源的,可以修改和使用源代码吗 等等。

    以上将是一个最好的因素,你需要研究,然后再作出选择。以上是大多数产品选择的通用信息,这里也需要特别注意。

    1. 社区支持
    2. 产品堆放
    3. 在修改自己的代码方面的可扩展性
    4. 作为企业购买时的产品支持

    这可能是一个研究,你需要自己做的选择差异。任何方式都有许多附加值,使产品适合您的组织,而不是说最好的市场。

    当涉及到Apache camel或其他ESB时。不同之处在于

    1. 运输数量
    2. apachecamel为您提供了多种DSL over Mule,其他的是它们没有Camel中的多个DSL。
    3. Mule在其产品栈中包含API管理和内部云连接器,其中apachecamel是一个框架,当考虑到fuseesb时,JBoss栈提供了大量的其他产品,可以补充您的选择。