信茂工控网
首页 > 工控机 > 技术实战 基于EIP的数据集成实战

技术实战 基于EIP的数据集成实战

EIP(Enterprise Integration Patterns)全名是企业集成模式,是各种MOM消息中间件和ESB的理论基础。我们基于EIP的理论,利用数据拉取和分发工具——NIFI,总结了一系列实战模板,快速便捷地对多种异构数据源和数据格式进解析。

基于EIP的数据集成实战

在谈EIP前我们了解下其他两个概念,SOA和ESB。

先简单介绍一下SOA架构的示意图,中间的单体服务就是SOA的部分,SOA最小的业务单元就是服务,服务内有许多模块。

微服务架构就是SOA的升级版,微服务将SOA服务内的模块做了拆分,颗粒度更细,降低了耦合度,即使某个服务出现问题,也不会影响其他服务的正常运行。

企业级的应用通常会有很多的SOA服务,各个服务的开发语言和协议可能也不一样,服务间调用会有很高的成本,ESB很好的解决了这个问题。

ESB是服务的请求者和提供者之间的一个中间件,它将不同平台的异构服务用管道的形式连接起来,转换成消息流,再通过中介处理,最后将消息以适当的形式转发到目的地。

SOA和ESB的理论基础来自于哪儿呢?就是我们下面要讲的EIP,EIP全名是企业集成模式。

EIP框架围绕消息集成和传输和转换可能出现的场景做了整理归纳,包含了发送方,消息体、管道、路由(根据消息的特征确定发送到哪个接收方)、消息转换,最后到接收方。参考EIP框架实现企业应用集成的产品有很多,NIFI就是其中一个。

什么是NIFI?

NIFI是一个数据拉取、数据处理和分发的工具,用于自动化管理系统间的数据流。

接下来我们讲NIFI涉及到的几个核心概念:

●FlowFile文件流 表示通过系统移动的每个对象,包含数据流的基本属性

●Connection 连接器 负责不同处理器之间的连接,是数据的有界缓冲区

●Processor处理器 负责实际对数据流执行工作

●Flow Controller流 管理进程使用的线程及其分配

P1处理器接入数据源,比如说从数据库获取数据,然后将每条数据转换成FlowFile,FlowFile从P1处理器传输到P2处理器,需要一个管道,就是Connector。当然这是最简单的示例,具体业务里P1和P2中间还有其他的处理器。

NIFI相比其他的产品应用更加广泛,能解析多种异构数据源和数据格式,支持的主流数据库有PostgreSQL、MySQL、SqlServer、Oracle,也支持Http请求、解析CSV文件、MQTT和KAFKA等数据格式。

可以总结为以下6大核心优势:

NIFI通用模板看这里!

虽然说NIFI内置了很多的处理器,但是要挑选适合的处理器,将它们组装起来,实现业务功能,还是需要花费点时间,因此我们做了一些通用的模板,大家只要修改一些配置信息,就能用。

下面给大家展示一下我们整合过的几个模板示意图:

当然,如果内置的处理器不能满足业务需求,也可以创建自定义处理器。使用mvn archetype:generate命令创建nifi处理器模板工程,然后在OnTrigger方法中实现具体的业务逻辑,将打包出的nar包放到工程目录的lib文件夹下,重启NIFI后就可以了。同时NIFI也提供了单元测试的工具类TestRunner。

使用注意点

1、事先弄清需要同步增量数据还是全量数据,如果需要同步增量数据,采用了全量数据,就会导致大量的重复数据。

2、定时拉取需要设置时间,默认值0会一直运行,占用服务器内存

3、获取CSV文件数据设置从单个节点获取,否则会有重复数据

4、磁盘IO是NIFI的瓶颈,建议使用集群

5、服务器系统的配置不同吞吐量和延迟也有很大的不同

6、需要测试所用服务器的吞吐量

文章参考链接

标签:

猜你喜欢

微型工控机 智能装备方案未...
智能装备与生产力提升 在现代企业中,智能装备已不再是简单的机器,它们已经融入到了公司的DNA之中。它们不仅能够自动化复杂的工序,还能够实时监控设备运行状态...
工控机笔记本 果实丰收园艺智...
一、果实丰收:园艺智慧的结晶 二、栽培前期:种植与培育 在选择果树时,农民们通常会根据当地气候条件和市场需求来选择合适的品种。例如,在温带地区,苹果树因其...
工控机维修 中国三大存储芯...
市场竞争与技术创新 在全球半导体产业中,中国三大存储芯片公司——长江存儲科技、海思半导体和联电(UMC)正处于激烈的市场竞争之中。为了保持领先地位,这些企...
工控机编程 芜湖职业技术学...
实习生成长记:芜湖职院如何孵化未来人才 在中国的教育体系中,职业技术学院扮演着培养行业技能人才的重要角色。芜湖职业技术学院正是这样一所学校,它不仅注重理论...