CloudHub概述
CloudHub概述
CloudHub
CloudHub是cloudcore的一個模組,是Controller和Edge端之間的中轉。它同時支援基於websocket的連線以及QUIC協議訪問。Edgehub可以選擇一種協議來訪問cloudhub。CloudHub的功能是啟用邊端與控制器之間的通訊。
到邊端的連線(通過EdgeHub模組)是通過websocket連線上的HTTP完成的。對於內部通訊,它直接與控制器通訊。傳送到CloudHub的所有請求都是上下文物件,它們與標記為它的nodeID的事件物件的對映通道一起儲存在channelQ中。
CloudHub執行的主要功能是:
• 獲取訊息上下文併為事件建立ChannelQ
• 通過WebSocket建立HTTP連線
• 服務websocket連線
• 從邊端讀取訊息
• 寫訊息到邊端
• 將訊息釋出到控制器
獲取訊息上下文併為事件建立ChannelQ:
上下文物件儲存在channelQ中。對於所有nodeID,將建立通道並將訊息轉換為事件物件,然後將事件物件通過通道傳遞。
通過websocket建立http連線:
• TLS證書通過上下文物件中提供的路徑載入
• HTTP伺服器以TLS配置啟動
• 然後將HTTP連線升級為接收conn物件的websocket連線。
• ServeConn函式可服務所有傳入連線
從邊端讀取訊息:
• 首先,為保持活動間隔設定最後期限
• 然後讀取來自連線的JSON訊息
• 設定完訊息路由器詳細資訊之後
• 然後將訊息轉換為事件物件以進行雲內部通訊
• 最後,事件被髮布給控制器
將訊息寫到Edge:
• 首先,為給定的nodeID接收所有事件物件
• 檢查相同請求的存在和節點的活動性
• 事件物件轉換為訊息結構
• 設定寫截止時間。然後訊息傳遞到websocket連線
向控制器釋出訊息:
• 每次向Websocket連線發出請求時,帶有時間戳,clientID和事件型別的預設訊息都會傳送到控制器
• 如果節點斷開連線,則會引發錯誤,並將描述節點故障的事件釋出到控制器。
用法
可以通過以下三種方式配置CloudHub:
• 僅啟動websocket伺服器:檢視詳細資訊。
• 僅啟動quic伺服器:檢視詳細資訊。
• 同時啟動websocket和quic伺服器:檢視詳細資訊
相關文章
- 概述
- JVM 概述JVM
- Java 概述Java
- mongodb 概述MongoDB
- Java概述Java
- TCP 概述TCP
- ElasticSearch 概述Elasticsearch
- SparkSQL 概述SparkSQL
- Kafka 概述Kafka
- JDBC概述JDBC
- Promise 概述Promise
- GraphHttpClient概述HTTPclient
- FastDFS概述AST
- html概述HTML
- SurfaceView概述View
- uoj概述
- (1)概述
- DevOps概述dev
- Express 新手概述Express
- Android概述Android
- Redis Ziplist 概述Redis
- JavaScript物件概述JavaScript物件
- Docker 前沿概述Docker
- Web Storage概述Web
- 【Docker】Docker概述Docker
- Java 集合概述Java
- 9.3 parity概述
- HTTPS概述HTTP
- JVM的概述JVM
- Redis的概述Redis
- XMLHttpRequest 物件概述XMLHTTP物件
- DTD – 元素概述
- XML 元素概述XML
- java集合概述Java
- OkHttp的概述HTTP
- Web安全概述Web
- RXJS 概述JS
- hadoop概述Hadoop