【集成架构】我们得谈谈 Apache Camel
你甚至可以在Kubernetes上运行它…
Apache Software Foundation(ASF)在2019年监督了339个项目,有超过3000名提交者组成的强大社区修改了59309787行代码。
通过提交,最活跃的项目是Apache Camel——一个旨在让企业开发人员集成大量应用程序的工具。
Apache camel缺乏其他ASF项目Hadoop、Kafka或Spark的品牌认知度;这些项目都被知名企业广泛使用,其中许多企业已经在此类开源软件上构建了其架构的关键组件。
但随着企业寻求集成更多的应用程序(例如,综合使用它们生成的数据),Apache Camel变得越来越重要。
(对于那些喜欢开发人员主导的DIY方法,而不是使用第三方承包商并为其软件支付许可费的人来说,情况尤其如此。)
Apache camel:欧盟委员会的开发者喜欢它…
在使用apache camel的人中,有欧洲委员会(EC)的开发人员。
欧洲政策制定者直截了当地希望看到更多的开源工具在各成员国使用,或许这并不奇怪。
正如欧盟委员会一位负责“开发可重用组件,倡导开源软件”的开发人员所说:“我个人喜欢与其他集成框架相比的优雅和性能。”
他还鼓吹一个活跃的社区(在2019年有41164个承诺)。
告诉我更多…
Confluent的Kai Wähner也对这个项目充满热情。
在DZone的一个博客中,他指出“[apachecamel允许您]使用所需的模式轻松地集成不同的应用程序。
“您可以使用Java、springxml、Scala或Groovy。几乎所有您能想到的技术都是可用的,例如HTTP、FTP、JMS、EJB、JPA、RMI、JMS、JMX、LDAP、Netty等等(当然,大多数esb也提供对它们的支持)。此外,可以很容易地创建自己的自定义组件。”
他补充道:“您可以将Apache camel作为独立的应用程序部署在web容器(例如Tomcat或Jetty)、JEE应用服务器(例如jbossas或websphereas)、OSGi环境或与Spring容器结合使用。
“每个集成都使用相同的概念!
“不管你用哪种协议。不管你使用哪种技术。无论您使用哪种领域特定语言(DSL),它可以是Java、Scala、Groovy或springxml。你也是这么做的。永远!有生产者,有消费者,有端点,有EIP,有自定义处理器/bean(例如用于自定义转换)和参数(例如用于凭据)。”
即使是以开源Mule-ESB形式提供类似产品的mulesft也承认Camel的精益框架“使程序员更容易学习。Camel还支持不同的领域特定语言(DSL),允许程序员使用他们认为最合适的语言工作。”
“Camel还通过坚持企业集成模式(EIP)缩小了建模和实现之间的差距,允许程序员将集成问题分解成更容易理解的小部分。
2020年新产品
2019年,Apache Camel团队增加了两个新项目:Camel K和Camel Quarkus。Camel K基本上采用了Camel的工具箱,并在Kubernetes上以原生方式运行,这个版本是专门为无服务器和微服务架构设计的。
(Camel K的用户可以使用Kubernetes或OpenShift在他们首选的云上立即运行用Camel DSL编写的集成代码)。
今年早些时候,它计划添加新的工具,包括Kafka连接器和Camel-springboot(从主存储库中移出),这是一个基于Java的开源框架,用于创建由Pivotal开发的微服务。
欧盟委员会(europeancommission)似乎不太可能成为开拓者,但预计到2020年,人们将听到更多关于apachecamel的消息。
原文:https://www.cbronline.com/feature/apache-camel
本文:
讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】或者QQ群【11107777】
- 414 次浏览