Deployment 具有多个应用程序和路由的驼峰部署

Deployment 具有多个应用程序和路由的驼峰部署,deployment,apache-camel,Deployment,Apache Camel,在我的项目中,我需要从外部数据供应商那里开发100多个集成点。其中一些在FTP站点上,而一些是RESTAPI。 我正在考虑使用ApacheCamel来开发路由器。但是,我需要一个好的策略来部署我的应用程序,以便: a。我可以使用XML或更好的GUI配置我的端点 B我可以使用GUI安排集成任务 在这里使用tomcat容器是一个好的选择吗?我是否需要一个负载平衡器,这样我的容器就不会随着应用程序数量的增加而耗尽内存?如果您想使用GUI来配置驼峰路由,我会查看。您将能够从web gui启动/停止和配置

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

a。我可以使用XML或更好的GUI配置我的端点 B我可以使用GUI安排集成任务


在这里使用tomcat容器是一个好的选择吗?我是否需要一个负载平衡器,这样我的容器就不会随着应用程序数量的增加而耗尽内存?

如果您想使用GUI来配置驼峰路由,我会查看。您将能够从web gui启动/停止和配置骆驼路线。我个人没有经验来进一步指导您,但这是我要走的路线。

为此,您应该使用ApacheKaraf。ApacheKaraf是一个OSGI容器,它与ApacheCamel集成,允许您运行基于ApacheAries蓝图标准编写的XML路由。 此外,它还提供了一个功能来创建Karaf实例,这些实例是独立的java进程(这将隔离问题),并通过一个名为Cell的功能从根实例进行集群

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

您可以在这里查看:

关于Camel集成,您应该看看

例如,您可以下载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
目录中(我从ApacheCamel:Karaf参考中获得了这个示例):


然后您可以转到
http://127.0.0.1:8181/hawtio
查看您的路线正在运行,您可以通过GUI启动/停止路线。

GUI编辑器 请参阅此常见问题解答 -

。。例如,fuseide是一个基于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上。

谢谢!我刚安装好,看起来棒极了!我找不到任何石英插件,虽然这里有一个页面-有没有一种方法我可以自己设置石英插件?谢谢hveiga。我刚布置好karaf和hawtio,看起来真的很不错。我们将进行更多的实验。
<?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>