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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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…

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

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

如何集成和使用EclEmma插件来获得良好的Junit覆盖率

你好朋友, 如果编写好的代码很重要,那么编写覆盖所有业务逻辑的优良Junit测试用例也同样重要。通过编写覆盖业务逻辑的Junit测试用例,我们实际上确保代码的每种方法都能正常工作按照预期进行,因此减少了在软件开发的后期阶段中获…

工业4.0时代,工业交换机在智能电网建设中有什么作用?

随着工业以太网技术、光纤技术和信息处理技术的发展,并向电力行业的渗透,在当前技术条件支持下,工业以太网通信在运行过程中表现出高可靠性、灵活性和扩展性等优点,对优化整个电网系统设备元件之间的连接和信息传输有着重要的作用…

工业交换机的性能优势有哪些?

工业交换机也称作工业以太网交换机,即应用于工业控制领域的以太网交换机设备,对工业交换机我们有多少人了解呢?究竟何为工业交换机,工业交换机有哪些功能呢?接下来就由飞畅科技的小编来为大家详细讲解下吧!…

谷歌浏览器出现“远程计算机访问失败问题”

转载链接 一、进入浏览器设置 二、“internet选项”目录 三、设置 只勾选一个,其余均不选。 四、打开新网页,解决问题

工业交换机都有哪些优势,该如何挑选

相对普通交换机而言,工业交换机在普通交换机的基础之上加强了功能,端口配置和产品系列更加丰富和灵活,能够满足各种工业领域的需求。广泛应用于智慧交通、安防监控、风电光伏、煤矿等领域。尤其是电力、交通、冶金被称为工业交换机应用的三大…

用Java中的抽象类扩展抽象类

示例问题 当我创建Java :: Geci抽象类AbstractFieldsGenerator和AbstractFilteredFieldsGenerator我遇到了一个不太复杂的设计问题。 我想强调一下,对于某些人来说,这个问题和设计可能看起来很明显,但是在我最近与一位初级开发人员&#xff0…

工业交换机与工业路由器的区别

工业交换机(也叫工业以太网交换机),即应用于工业控制领域的以太网交换机设备,由于采用的网络标准,其开放性好、应用广泛以及价格低廉、使用的是透明而统一的TCP/IP协议,以太网已经成为工业控制领域的主要通…

Sublime介绍安装和使用(转载)

转载: 原文链接:https://blog.csdn.net/ITTechnologyHome/article/details/80486235 1.1 Sublime介绍 Sublime是一款跨平台、收费的文件编辑器,可以用来编写HTML,CSS,JavaScript,PHP等应用程序。 1.2 Sublime特点 跨平台,支持主流操作系统…