工控網首頁
>

新聞中心

>

業界動態

>

技術實戰 | 基于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?工業低代碼平臺。依托先進的數字化平臺軟件、經驗豐富的行業專家智庫,為客戶打造更易用的工業軟件產品。

審核編輯(
王妍
)
投訴建議

評論

查看更多評論
其他資訊

查看更多

市場活動 | 11月12日!“瀚碼技術華北區產品技術交流沙龍”邀約正式開始!

案例精選 | 后疫情時代下,生物醫療公司的數字化探索

關于瀚碼 | 一文讀懂瀚碼技術

蛤蟆學院 | 制造業智能化進擊之路(中)

市場活動 | 瀚川智能受邀出席【2021中國國際工業互聯網創新發展大會】