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理论篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端开发实习生的第一天
- 下一篇: Springboot-添加对jsp支持