JBoss Fuse和Apache驼峰有什么区别?如何在构建基于微服务的应用程序中使用它?
答案 0 :(得分:11)
Apache Camel是一个基于已知企业集成模式的多功能开源集成框架。 Camel使您能够以各种特定于域的语言定义路由和中介规则,包括基于Java的Fluent API,Spring或Blueprint XML配置文件以及Scala DSL。因此,根据此定义,您可以得出结论,Apache Camel是一个集成框架,这意味着您有一组用于构建应用程序的库。我们知道每个应用程序都需要在一个环境中运行。 Apache Camel应用程序可以通过以下方式运行:
1-独立。有关Standalone runnig Camel Standalone Running
的更多信息2-在OSGI容器上。 Apache Camel旨在很好地适用于Apache Karaf OSGi容器。你可以说Redhat保险丝为Apache Karaf运行Camel Appilcation提供支持,此外还支持Fuse支持Apache Camel使用的技术,如ActiveMQ和CXF。有关详细说明,请参阅https://developers.redhat.com/products/fuse/overview/。
您可以使用Camel构建mirco服务应用程序,方法是在Camel上下文中编写Camel Routes,使用mvn将它们打包为捆绑包,然后将其部署在Redhat Fuse Karaf容器中。每个路由由代表不同技术的端点组成,可以是针对SOAP和REST的CXF,文件以及许多类型的端点,以帮助您进行集成过程。
答案 1 :(得分:11)
扩展穆罕默德的答案:
Apache Camel是一个与容器无关的中介和路由引擎,在Java上运行并实现企业集成模式。有几百个Camel组件可以访问不同的协议(文件:,http:,ftp:,jms:,amqp:等)和提供程序(AWS,DropBox,GitHub等)。
Red Hat JBoss Fuse,以前来自FuseSource.com的FUSE ESB,是Apache ServiceMix的商业实现。 Apache ServiceMix是一个基于OSGi(运行时)的集成框架,包括Apache Karaf(OSGi容器;不是OSGi规范的一部分),Apache Camel(中介和路由引擎),Apache ActiveMQ(可靠消息传递),CXF(Web服务)框架),以及其他一些内容。
您可以通过多种不同的方式运行Camel,包括独立的Java EE部署,OSGi(有或没有Karaf),或几乎任何您使用Java的方式。看起来Red Hat将推动人们在OpenShift上使用Spring Boot来运行Camel。