具有多个应用程序和路由的Camel部署

时间:2014-03-27 15:50:20

标签: deployment apache-camel

我的项目需要从外部数据供应商开发超过100个集成点。其中一些是在FTP站点上,而一些是REST API。 我正在考虑使用Apache Camel来开发路由器。但是,我想要一个好的策略来部署我的应用程序,以便:

一个。我可以使用XML或更好的方式使用GUI配置我的端点 湾我可以使用GUI来安排我的集成任务

使用tomcat容器会是一个不错的选择吗?我是否需要一个负载均衡器,以便随着应用程序数量的增加,我的容器内存不会耗尽?

3 个答案:

答案 0 :(得分:1)

如果您想使用GUI配置骆驼路线,请查看camel plugin for hawtio。您将能够从web gui开始/停止和配置您的骆驼路线。我个人没有经验可以进一步指导你,但这是我要走的路。

答案 1 :(得分:1)

您应该将Apache Karaf用于此目的。 Apache Karaf是一个OSGI容器,它与Apache Camel集成,允许您运行基于Apache Aries Blueprint标准编写的XML路由。 此外,它还提供了一个功能来创建Karaf实例,这些实例是分离的java进程(这将隔离问题),并通过根实例中的Cellar功能进行聚类。

此外,由于它是OSGi,您将能够在运行时部署代码和路由,而无需停止新内容的服务。此外,如果你想要一个像Hawtio这样的花哨界面(我推荐!),Mike指出,Karaf也提供与Hawtio的集成。

您可以在此处查看:Apache Karaf

关于Camel集成,您应该查看Apache Camel: Karaf

举个例子,您可以下载Karaf(3.0.0)并登录到容器中运行:

feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.13.0/xml/features
feature:repo-add mvn:io.hawt/hawtio-karaf/1.2.3/xml/features

feature:install camel-core
feature:install camel-blueprint
feature:install hawtio

然后创建一个基于Blueprint的Hello world XML并将其放入deploy目录(我从Apache Camel:Karaf参考中得到了这个例子):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route id="route1" xmlns="http://camel.apache.org/schema/spring">
  <from uri="timer:test"/>
  <to uri="log:test" id="to1"/>
</route>

然后你可以转到http://127.0.0.1:8181/hawtio并看到你的路线在运行,你可以通过GUI开始/停止它。

答案 2 :(得分:0)

GUI编辑器

请参阅此常见问题解答 - http://camel.apache.org/is-there-an-ide.html

..例如,Fuse IDE是基于Eclipse的编辑器/插件。

正如Mike所说,hawtio还有一个基于Web的UI编辑器(虽然正在进行中)。

但Camel强调的一点是,DSL只是简单的Java代码或XML,所以你不能使用特殊的编辑器/工具。

容器

Apache Camel是一个库/框架,它允许您在任何容器中运行Camel,无论是Java独立容器,Apache Tomcat,Jetty,JBoss AS,JBoss Fuse,Apache Karaf / ServiceMix,WebSphere和其他JEE服务器等。最近还有Open Shift和Docker。