? ? ? ?在邊緣技術(shù)領(lǐng)域,那些從事制造業(yè)、自動化行業(yè)、航空、物流、以及零售等行業(yè)應(yīng)用的開發(fā)人員經(jīng)常會思考的一個問題是:到底應(yīng)該在邊緣處,還是應(yīng)該在“真實”的數(shù)據(jù)中心、或是在公共云基礎(chǔ)架構(gòu)中部署Apache Kafka??
? ? ? ?在本文中,我們將向邊緣計算領(lǐng)域的開發(fā)者介紹Kafka在物聯(lián)網(wǎng)(IoT)邊緣處的不同用例和架構(gòu)用法。文末,我們還會討論Kafka作為事件流平臺,是如何在邊緣處對其他IoT框架及產(chǎn)品進行補充,進而實現(xiàn)大規(guī)模的實時數(shù)據(jù)集成與邊緣處理。?
常態(tài)化的多個Kafka群集?
? ? ? ?如今,Apache Kafka的多集群和跨數(shù)據(jù)中心的部署方式,已成為了業(yè)界的某種規(guī)范。雖然“邊緣處Kafka(Kafka at the edge)”可以被部署為一個獨立的項目;但是在大多數(shù)情況下,它處于整個Kafka架構(gòu)中的一部分。許多企業(yè)會根據(jù)如下原因,來創(chuàng)建多個Kafka集群:
維度電氣的邊緣處Kafka的用例?
福建省綜合能源接入背景
? ? ? ?根據(jù)安全防護方案要求,維度主站CPS系統(tǒng)需要通過安全接入網(wǎng)關(guān)實現(xiàn)安全接入互聯(lián)網(wǎng)大區(qū),根據(jù)與聯(lián)研院安全接入網(wǎng)關(guān)項目組溝通,
安全接入網(wǎng)關(guān)可以提供基于X86架構(gòu)的安全接入組件,將該組件部署在維度主站CPS系統(tǒng)主機上,可以實現(xiàn)安全接入。
總體架構(gòu)如圖
維度接入方案?
1.維度主站CPS系統(tǒng)設(shè)備檔案上送至智慧能源服務(wù)平臺(CPS系統(tǒng)整理,省級平臺導(dǎo)入)
2.智慧能源服務(wù)平臺需要維護維度主站CPS系統(tǒng)設(shè)備檔案以開展相關(guān)業(yè)務(wù),維度主站CPS系統(tǒng)將檔案按照省級平臺的要求生成Excel表格,由平臺運維人員進行頁面配置或者導(dǎo)入操作。
3.維度主站CPS系統(tǒng)主機安裝安全接入組件(省級平臺提供,CPS安裝測試)
4.維度主站CPS系統(tǒng)上報采集數(shù)據(jù)(CPS系統(tǒng)改造上報)
5.省級平臺從消息總線訂閱采集數(shù)據(jù),并對數(shù)據(jù)進行處理、存儲等操作,供業(yè)務(wù)系統(tǒng)使用。
6.維度主站CPS系統(tǒng)接收控制策略信息?
程序開發(fā)與部署?
1.程序以Java為主要開發(fā)語言,以JAR包發(fā)布。
2.通過更改配置文件即可達到靈活支持不同業(yè)務(wù)功能。
3.可以部署到SystemD或容器中,增加了彈性部署能力。
?4.實現(xiàn)了設(shè)備層與數(shù)據(jù)層之間的解耦。
5.能夠有效地處理背壓(back-pressure)。
6.即使只有一個客戶端,也能實現(xiàn)實時地處理大容量數(shù)據(jù)。
7.在磁盤上進行存儲,能夠重新處理數(shù)據(jù)。
8.修改的日志級別:為了減少線上日志大小,并能切換開發(fā)環(huán)境和線上環(huán)境。?
服務(wù)運維?
1.SystemD或容器結(jié)合程序信號機制,監(jiān)視程序運行狀態(tài),保證了程序以7*24正常地運行著?
2.運維監(jiān)控數(shù)據(jù):分日期和小時記錄,方便定期歸檔?
3.運維監(jiān)控數(shù)據(jù):記錄錯誤時的調(diào)用棧:當出現(xiàn)fatal和error級別的錯誤時,有時只靠錯誤信息時很難準確定位到錯誤代碼的,所以需要記錄函數(shù)的調(diào)用棧,方便排查錯誤
4.運維監(jiān)控界面:提供前端網(wǎng)頁查詢實時系統(tǒng)運行狀態(tài),方便了解掌握系統(tǒng)運行情況?