java8 camel_Meet Fabric8:基于Camel和ActiveMQ的开源集成平台

java8 camel

面料8

Fabric8是来自Red Hat的JBoss Fuse产品的Apache 2.0许可上游社区。

这是一个基于Apache ActiveMQ , Camel , CXF , Karaf , HawtIO等的集成平台。

它提供了自动化的配置和部署管理,以帮助使部署变得容易,可重复且不易发生人为错误。


JBoss Fuse(v6.1 )的最新GA版本是最近发布的,并且基于Fabric8的v1.0 :
fabric8_logo

Fabric8统一并打包了这些开源项目,以帮助您建立系统之间的集成,并解决非功能性需求,例如管理您的部署,服务发现,故障转移,负载平衡,集中式配置,自动化等等! 它还为在诸如PaaS上的云部署提供了一条清晰的道路 。最好的部分是,已经使用过Camel或ActiveMQ的人们对此很熟悉,它们分别是最受欢迎的开源集成库和消息传递平台。

您可以从社区文档中获取更多信息, 在freenode上的IRC上与开发人员聊天 ,以及在google-groups上的邮件列表 。

太好了,Fabric8给我什么呢?

Fabric8提供了很多功能……但是,我想在这篇博客文章中提到几个关键功能,如果您直接使用组成项目,那么您必须自己构建这些功能:

* Automated deployment and provisioning
* Polycontainer support
* Centralized management
* Service discovery
* Load balancing
* High availability
* Master/slave failover coordination


织物图

使用Fabric8,您可以构建集成块,对其进行部署和管理(共同创建一个“结构”),其中节点代表具有已配置软件(部署)的容器,并且已注册端点(HTTP,MQ,SOAP / REST)在存储库中进行动态查找。

DevOpsy的故事

考虑一下您当前的构建和发布过程是什么样的……

对于Java商店,您可能有Maven来构建源代码, Subversion或git来提供围绕源代码的版本控制和更改管理,也许还有Jenkins来管理您的构建,对吗? 对于Java开发人员来说,这是一套非常强大的工具。

但是,无论它们的功能如何,构建和发布过程都不仅仅是使用一些工具。

将您的代码投入生产需要在操作方面进行很多开发工作,开发人员可能不了解或根本不了解。 您的代码在哪些容器中运行? 什么操作系统? 需要什么样的支持软件? 这些环境是否经过精心设计和手动配置,且易更改的庞然大物容器因运行于哪个环境(DEV / QA / UAT / PROD等)而异?

成功的IT部门采用DevOps运动及其通信和自动化原理,以创建易于编写脚本/自动化,可复制的环境,并尽可能减少人工和手动配置。

开发人员会根据代码和应用服务器进行思考。

操作人员可能会在管理VM,服务器,OS,网络等方面进行思考。

但其中存在差距。 开发人员必须使用哪些工具来自动化部署容器,供应其应用程序,配置这些应用程序以及从中央位置可视化/管理该容器?

运维人员熟悉Puppet / Chef / Ansible / MCollective / capistrano …并将这些工具与Fabric8配合使用将为您提供非常强大的自动化和配置管理堆栈,以帮助您实现一致且可复制的生产部署以实施持续交付模型。

那么,Fabric8增加了什么价值?

容器间的一致性

使用可跨Java容器( Karaf , Tomcat , Wildfly , TomEE ),微服务框架( Dropwizard , Spring Boot , Vert.x )和纯Java Main(PJJM)工作的Profiles配置部署的一致方式。基于应用程序。

可视化

一个基于HawtIO的统一Web控制台,用于管理您的配置文件,部署,代理,服务等。在出现问题时,甚至可以为您的骆驼路线以及调试和跟踪提供丰富的可视化效果。

发现

对于Fabric内的所有部署,Fabric8不仅可以管理它们,还可以将它们注册到运行时注册表中,客户端可以使用该注册表自动找到所需的一组HTTP端点(SOAP / REST等)或MQ服务(经纪人,主/从对,经纪人网络等)。 此外,外部客户端还可以使用注册表来发现服务。

对您正在运行的服务的深刻理解

尽管上面提到的熟悉的Ops工具非常适合将软件放入多台机器的磁盘上,但它们不能充分了解运行的服务。 例如,使用Fabric8的Camel插件,您可以跟踪完成的交换次数,失败的次数,端点完成交换所花费的时间等。使用ActiveMQ插件,您可以可视化队列/生产者/消费者,发送消息发送到队列,从DLQ移动消息,等等。此外,ElasticSearch / Kibana有一些插件,可以更深入地了解您的代码/骆驼路线所实现的业务/集成。

熟识

Fabric8使用Java开发人员编写分布式集成服务或应用程序已经熟悉的工具。 例如,所有配置(配置文件)都存储在git中。 供应机制使用Maven。 协调服务使用[Apache Zookeeper] [zk]等。

管理云中或跨混合云的部署

Fabric8内置了对开箱即用的IaaS或PaaS部署和供应的支持。 甚至还提供了基于Docker的容器的支持,您可以在任何环境中进行运输和使用!

那ServiceMix呢?

ServiceMix还是基于Apache Camel和ActiveMQ的开源ESB。 那么这与Fabric8有什么关系呢?

ServiceMix是当前JBoss Fuse / Fabric8的起源。 它始于9年前,是基于Java业务集成规范的EnterpriseServiceBus(ESB)的实现。 它的目标是提供一个具有标准化消息传递主干的可插拔组件体系结构,该主干将遵循标准接口和规范的XML数据格式。 尽管JBI是一个过于礼貌的规范(很多XML描述符,打包需求等),但ServiceMix还是广受欢迎。 但是,尽管大多数产品/项目都以大型,复杂的容器形式提供集成服务,但在该复杂的“ ESB”环境之外也需要进行路由,转换,与外部系统集成等需求!

在SMX 3.x和4.x的时间范围内,该项目进行了一些重大的重构。 通过路由/中介DSL剥离并简化了JBI实施,该DSL /后来成为Apache Camel 。 这样,“ ESB”的“心脏”可用于其他项目(ActiveMQ,独立等)中。 此外,核心容器也从JBI转向OSGi。 再后来,实际的OSGi容器被重构为自己的项目,现在称为Karaf 。 因此,ServiceMix不再是自己的项目,而是其他项目的打包,例如ActiveMQ,Karaf(曾经是SMX的核心)和Camel(曾经是SMX的核心)。 JBoss Fuse(Fuse ESB / Fuse Enterprise)的较旧版本基本上是对SMX的强化,而SMX的强化已经是对某些Apache项目的重新包装。 此外,许多从事SMX工作的核心开发人员也致力于为组成部分做出贡献,而不一定是核心SMX。

Fabric8秉承ServiceMix的“ ESB”或“集成”精神,并添加了一个不错的管理UI( HawtIO ),以及我上面提到的所有DevOpsy东西,并描绘了通往大规模部署甚至迁移到云/混合的清晰路径云体系结构 。

如果您想从社区中获取更多信息, 克劳斯·易卜生 ( Claus Ibsen)撰写了一篇不错的博客文章 。

在SMX社区中进行了相当长时间的讨论 :

下一步

如果您使用Camel , CXF或ActiveMQ开发系统/企业集成并部署到OSGi( karaf ),Servlet( Tomcat ),Java EE( Wilfly )或独立运行( Vert.x , Spring Boot , DropWizard ),看一下Fabric8 。

首先下载最新版本,然后给我们您的反馈 !

在后续文章中,我将继续深入介绍Fabric8的功能以及如何使用它来构建健壮的,可伸缩的集成,并为部署集成提供一致且可复制的环境。

翻译自: https://www.javacodegeeks.com/2014/06/meet-fabric8-an-open-source-integration-platform-based-on-camel-and-activemq.html

java8 camel

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决apt-get install E: 无法定位软件包问题

更换清华源后出现的问题 参考链接 参考链接2

电话光端机的电话接口类型有哪些?

电话光端机常用的的电话接口类型有:环路中继接口(FXO)、模拟用户线接口(FXS)、热线电话接口(公务电话)、磁石电话接口。接下来,我们就跟随飞畅科技的小编来详细了解下电话光端机的电…

如何使用可外部化的接口在Java中自定义序列化

在上一篇文章“用示例介绍的有关Java序列化的一切”中 ,我解释了如何使用以下方法序列化/反序列化一个对象 Serializable接口,还说明了如何使用writeObject和readObject方法自定义序列化过程。 Java序列化过程的缺点 但是,这些定制还不够&a…

Ubuntu将python2.7默认更改为python3.X版本

1 删除原有链接 sudo rm /usr/bin/python2 建立软连接 sudo ln -s /usr/bin/python3.6 /usr/bin/python//3.6 3.5 2.7 可以根据需求更改 参考链接 建议使用方法二,方法一没使用成功

电话光端机使用什么光纤网络比较好?

电话光端机是一种将传统电话信号转换为光信号并通过光纤传输的设备,要使用电话光端机,必须首先具有光纤网络。那么电话光端机使用哪种纤维更好呢?接下来就让我们跟随飞畅科技的小编一起来看看吧! 如果电话光端机使用的光纤网络在…

NS3出现错误cc1plus: all warnings being treated as errors

参考链接 在运行./waf之前首先进行configure设置: CXXFLAGS"-Wno-error" ./waf configure #注意等号前后没有空格//进行该配置之后再进行编译 即可忽略警告

电话光端机原理及作用分析

常用的光端机分为多种类型,例如电话光端机、网络光端机、音频光端机、视频光端机、串口光端机、PDH光端机等。通常,电话光端机是最常用的,并且它们也被广泛使用。今天,就由光端机专业厂家飞畅科技来为大家普及下电话光端机的原理及…

ns-3文件编译出错总结

1、某个依赖项没有配好,应该卸载设备再重新安装,否则会造成干扰,导致编译出错 2、某文件资料下载不全,导致安装一直与教程不符。这种情况应该重下载文件 3、Git-hub下载代码慢,需要有一定的耐心

关于Jakarta EE与MicroProfile的创新和关系的提案

在JCrete非会议上,我们中的一些人正在就Jakarta EE的愿景,尤其是与MicroProfile的关系进行头脑风暴。 我想开始讨论,以使所有人都在同一页面上,尤其是Jakarta EE和MicroProfile之间的关系以及Jakarta的创新应如何。 我相信我们中的…

电话光端机作用,电话光端机功能特点介绍

电话光端机顾名思义其实也是一种光端机,但是他不仅仅只能传输电话的光端机。它的用户接口类型多样(包括语音、数据、图象),均以小型模块化部件方式装配到母板上,各种用户模块可以混合装配,方便扩容及维护。…

光端机的作用是什么? 简述光端机的作用

简单说光端机是光信号传输的终端设备,光端机一般都是成对使用,分为光发射机和光接收机。市面上常见的光端机主要有:电话光端机、PDH光端机、高清视频光端机、音频光端机、以太网光端机、数据光端机等等。那么,各类光端机的作用是什…

Ubunt中卸载protobuf与安装3.6.0版本步骤

1.卸载Ubuntu自带的protobuf; # sudo apt-get remove libprotobuf-dev # which protoc// 运行完“which protoc”会显示一个protoc的路径,如果没有显示则下面这条命令不必执行 # rm /usr/local/bin/protoc// 具体路径以“which protoc”显示的为准 到…

db2分页sql_停止尝试使用内部DB框架模拟SQL OFFSET分页!

db2分页sql我敢肯定,到目前为止,您已经以多种方式弄错了。 而且您可能很快将无法正确处理。 那么,当您可以实施业务逻辑时,为什么还要在SQL调整上浪费您的宝贵时间呢? 让我解释… 直到最近的SQL:2008标准 …

关于单纤与双纤光端机的区别介绍

单纤和双纤的光端机最大区别就是它们主板上的光模块区别,其他的地方基本上都是一样的。下面,飞畅科技的小编来为大家详细介绍下单纤与双纤光端机的区别,一起来看看吧! 单纤光端机:接收与发送的数据在一根光纤上传输。…

ImportError: cannot import name ‘constants‘

运行ns3gym案例一直报这个错,然后重新配置了两遍环境,然而并没有什么用。通过Google Baidu搜索,建议执行以下代码 pip install --upgrade pyzmq 执行后出现以下错误 然后搜索执行代码 sudo pip3 install --ignore-installed pyzmq 安装成功…

如何在不同的浏览器中设置Selenium网格以并行执行

到目前为止,Selenium是最常用的Web自动化测试工具。 如此受欢迎的原因之一是Selenium的自动跨浏览器测试功能。 硒自动化测试可以帮助您在所有主要浏览器,所有主要操作系统甚至移动设备浏览器上进行测试。 您可以在所有功能测试中获得广泛的浏览器覆盖&a…

电力、市政、交通三大领域推动工业交换机行业发展

随着科技的发展,在工业自动化行业,工业交换机便起着为复杂工业环境提供实时以太网数据传输的重要作用。现在工业中,通常会采用专用的工业以太网交换机,定义不同的以太网帧优先等级,让用户所希望的信息能够以最快的速度…

网管型工业交换机和 非网管型工业交换机的优缺点

工业交换机专业为达到灵便变化多端的工业生产运用要求而设计方案,出示一种性价比高电力线通信通讯解决方法。而工业交换机也分成网管型和非网管型二种。那么,网管型工业交换机和非网管型工业交换机有什么不同,大家该如何选择呢?接…