EdgeX Foundry理論篇
總體架構
核心服務層
核心資料微服務
蒐集持久化裝置和感測器等邊緣裝置資料,支援匯出到雲。目前,資料本地儲存互動通過REST APIs,未來會支援更多協議:MQTT, AMQP等。資料匯出到Export Service layer,通過ZeroMQ、MQTT。persist.data=false,資料不存核心資料,直接通過訊息佇列到達Export Service layer。本服務是唯一能獲得裝置資料的服務。
查詢資料流程圖
新增屬性流程圖
命令微服務
負責把命令從北端傳到南端,不允許非法命令與裝置互動。命令主要來自一下:其他微服務命令(本地邊緣資料分析、規則引擎微服務)、其他應用命令(系統管理agent關閉一個裝置)和外部系統命令(修改一系列裝置設定檔案)。命令微服務提供統一規範方式與裝置通訊,GET命令獲取裝置資料;PUT命令下發action或下發配置資料。命令微服務通過裝置服務同裝置互動,不直接互動裝置。
查詢命令流程圖
傳送命令流程圖
後設資料微服務
後設資料微服務主要包括管理裝置配置檔案,包括裝置資訊、裝置資料結構型別和裝置命令。每個被EdgeX 管理的裝置,都在後設資料有關聯ID,裝置關聯裝置配置檔案和裝置服務。後設資料微服務管理裝置服務資訊,其他微服務通過裝置服務同裝置互動。裝置服務,對應一特定裝置協議,比如Modbus裝置服務,負責管理所有Modbus裝置。本服務是唯一能獲得裝置、裝置配置和裝置服務的微服務。資料本地儲存互動通過REST API,未來會支援更多協議:MQTT, AMQP等
架構圖
啟動裝置流程圖
新增裝置流程圖
配置註冊微服務
管理EdgeX Foundry微服務配置、執行引數和狀態。提供微服務啟動所需配置,如埠號等。各微服務啟動,註冊自身資訊到本服務。對於註冊服務,採用ping各微服務方式來探活, 頻率每10 seconds一次。配置發生變更,本服務會及時通知對應微服務,配置資訊會覆蓋微服務內建配置資訊,可支援動態切換環境,滿足微服務架構動態擴充套件需求。在配置註冊微服務不可用時,微服務可脫離本服務,使用自身內嵌配置啟動。互動方式:RESTful APIs。
配置註冊服務互動圖
支撐服務層
通知告警微服務
告警通知微服務負責在裝置發生故障,生成告警,發生告警到目的應端目前支援e-mail 和 REST 回撥。通知分兩種,NORMAL和CRITICAL,CRITICAL立刻傳送通知到分發協調組,NORMAL等待訊息排程器統一處理。可擴充套件,按需起排程器處理通知作業。
架構圖
左邊:API提供給其他微服務和應用呼叫,能通過 REST, AMQP, MQTT,或者其他標準應用協議,目前支援REST。
右邊:訊息訂閱者通過訂閱RESTful,訂閱特定型別通知。訊息接收者,在事件發生時,可通過SMS、, e-mail, REST callback, AMQP, MQTT等。
發現告警流程圖
響應告警流程圖
日誌微服務
通過RESTful APIs提交日誌請求、查詢歷史日誌、移除歷史日誌,用LOGBack做日誌框架,可以通過檔案或MongoDB持久化日誌。
架構圖
日誌請求流程圖
排程微服務
EdgeX 的排程服務及其輕量,只負責定時清理裝置資料。預設每30分鐘執行一次,呼叫Core Data API執行清理任務
規則引擎微服務
規則引擎提供了一種邊緣事件觸發機制,監控邊緣裝置資料。符合條件,觸發行為,通過命令服務下發指令。核心引擎採用Drools,由JBoss社群提供的開源規則引擎。規則引擎啟動會自動註冊到輸出客戶端註冊服務,檢測裝置資料對於重要敏感案例,規則引擎可以直接對接核心資料微服務,需要設定配置檔案,export.client=true。通過RESTful API動態新增規則。
架構圖
新增規則流程圖
輸出服務
客戶端註冊微服務
輸出客戶端註冊微服務讓客戶端註冊為資料接收者,按需過濾流轉資料。Clients on-gateway:包括本地分析服務,事件處理器,規則引擎等。Clients off-gateway:經典企業雲系統或閘道器聚合系統,提供歷史資料和更深層次資料分析能力。通過REST API建立新請求,更新存在請求,刪除請求。
架構圖
分發微服務
分發微服務,基於EAI技術,管道過濾體系。通過訊息佇列,接收資料,過濾、傳輸和格式化資料,通過REST, MQTT, 0MQ分發資料到特定註冊客戶端。
分發流程圖
系統管理服務
系統管理模組提供微服務安裝、升級、啟動、停止和監控功能
安全服務
支援AAA訪問控制,AES256資料加密,唯一證照認證,HTTPS協議流程資料。
裝置服務層
虛擬裝置微服務
模擬不同協議裝置,生成Events and Readings到核心資料微服務,通過H2 database儲存虛擬裝置資源。使用者通過命令微服務下發命令到
。虛擬裝置服務依賴資料微服務和後設資料微服務,啟動會ping核心資料和後設資料微服務,超時時間600秒,未ping通,啟動失敗。虛擬裝置服務啟動初始化過程中,會在後設資料微服務建立裝置,裝置配置,裝置服務。
架構圖
原理篇總體結合官網和自己理解
英文版請登入官網
https://wiki.edgexfoundry.org/display/FA/EdgeX+Foundry+Microservices+Architecture
相關文章
- EdgeX Foundry試執行
- 執行java和go混合版本EdgeX FoundryJavaGo
- 基於 OpenYurt & EdgeX Foundry 的雲邊端一體化解決方案
- 手把手教你在 SuperEdge 上用 EdgeX Foundry 接入 IoT 裝置
- RocketMQ - 理論篇MQ
- 跨域-理論篇跨域
- GraphQL分享理論篇
- JAVA_RMI(理論篇)Java
- PHP效能優化 -理論篇PHP優化
- State設計模式上篇(理論篇)設計模式
- 設計模式總結(理論篇)設計模式
- 深入理解hashmap(二)理論篇HashMap
- 決策樹演算法-理論篇演算法
- H5直播入門(理論篇)H5
- Cloud Foundry架構和訊息處理機制Cloud架構
- 金鑰和證書,純理論介紹篇
- Cloud Foundry 使用Cloud
- web3從入門到實戰-理論篇Web
- Causal Inference理論學習篇-Tree Based-Causal ForestREST
- Causal Inference理論學習篇-Tree Based-Causal Tree
- 爬蟲(1) - 爬蟲基礎入門理論篇爬蟲
- 【機器學習】Logistic Regression 的前世今生(理論篇)機器學習
- 分散式理論(二) - BASE理論分散式
- 理論
- 一文說透事務隔離性——理論篇
- JVM效能調優與實戰基礎理論篇-下JVM
- iOS記憶體管理佈局及管理方案-理論篇iOS記憶體
- K8S理論篇----K8S的概述K8S
- 42、併發程式設計之多執行緒理論篇程式設計執行緒
- 響應式程式設計與MVVM架構—理論篇程式設計MVVM架構
- 服務設計入門篇--理論與方法(摘抄滴滴)
- 資訊理論理論學習筆記筆記
- CAP理論
- 衰老理論
- 【GPT-4理論篇-1】GPT-4核心技術探秘GPT
- 真正“搞”懂HTTP協議06之body的玩法(理論篇)HTTP協議
- 重新整理彙編—————彙編的基礎理論前置篇
- # 0x0001構建架構思維理論前篇架構