工控网首页
>

新闻中心

>

业界动态

>

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

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

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


image.png


基于EIP的数据集成实战


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


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


image.png


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


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


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


image.png


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


image.png


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


什么是NIFI?


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


image.png


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


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


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


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


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


image.png


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


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


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


image.png


NIFI通用模板看这里!


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


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


image.png

image.png

image.png


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


使用注意点


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


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


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


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


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


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


文章参考链接🔗:


https://www.cnblogs.com/muzhongjiang/p/13153165.html


https://help.syncfusion.com/data-integration/how-to/create-a-custom-processor


https://baijiahao.baidu.com/s?id=1695284379841105746&wfr=spider&for=pc


https://blog.csdn.net/u010777507/article/details/10509428


image.png


瀚码技术以“数字赋能 智造价值”为使命,秉持“敏捷、赋能、统一、平台”的理念,致力于成为客户首选的数字化技术提供商。利用物联网大数据等先进技术,瀚码技术构建了跨界融通的工业互联网产业生态,助力企业实现数字化转型。


经过多年行业深耕,瀚码技术陆续推出了一系列场景化软件系统,并形成两大平台型产品:OPLENLINK®企业级工业互联网平台和HARMONCODE®工业低代码平台。依托先进的数字化平台软件、经验丰富的行业专家智库,为客户打造更易用的工业软件产品。

审核编辑(
王妍
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

瀚码资讯 | 华为加持,首个通过5G集成认证的工业物联网边缘计算网关你GET了吗?

HARMON ECO-DAY | 手拉手,共赢未来!

【2021 Q4】Decoding Day | OPENLINK® BI V3.3 更新日志

【2021 Q4】Decoding Day | OPENLINK® Edge V3.5 更新啦!

瀚川:市场活动 | 12月21日 瀚码技术 x 高工锂电——年会抢先看