CloudHub概述
CloudHub概述
CloudHub
CloudHub是cloudcore的一個模塊,是Controller和Edge端之間的中轉。它同時支持基于websocket的連接以及QUIC協(xié)議訪問。Edgehub可以選擇一種協(xié)議來訪問cloudhub。CloudHub的功能是啟用邊端與控制器之間的通信。
到邊端的連接(通過EdgeHub模塊)是通過websocket連接上的HTTP完成的。對于內部通訊,它直接與控制器通訊。發(fā)送到CloudHub的所有請求都是上下文對象,它們與標記為它的nodeID的事件對象的映射通道一起存儲在channelQ中。
CloudHub執(zhí)行的主要功能是:
? 獲取消息上下文并為事件創(chuàng)建ChannelQ
? 通過WebSocket創(chuàng)建HTTP連接
? 服務websocket連接
? 從邊端讀取消息
? 寫消息到邊端
? 將消息發(fā)布到控制器
獲取消息上下文并為事件創(chuàng)建ChannelQ:
上下文對象存儲在channelQ中。對于所有nodeID,將創(chuàng)建通道并將消息轉換為事件對象,然后將事件對象通過通道傳遞。
通過websocket創(chuàng)建http連接:
? TLS證書通過上下文對象中提供的路徑加載
? HTTP服務器以TLS配置啟動
? 然后將HTTP連接升級為接收conn對象的websocket連接。
? ServeConn函數(shù)可服務所有傳入連接
從邊端讀取消息:
? 首先,為保持活動間隔設置最后期限
? 然后讀取來自連接的JSON消息
? 設置完消息路由器詳細信息之后
? 然后將消息轉換為事件對象以進行云內部通信
? 最后,事件被發(fā)布給控制器
將消息寫到Edge:
? 首先,為給定的nodeID接收所有事件對象
? 檢查相同請求的存在和節(jié)點的活動性
? 事件對象轉換為消息結構
? 設置寫截止時間。然后消息傳遞到websocket連接
向控制器發(fā)布消息:
? 每次向Websocket連接發(fā)出請求時,帶有時間戳,clientID和事件類型的默認消息都會發(fā)送到控制器
? 如果節(jié)點斷開連接,則會引發(fā)錯誤,并將描述節(jié)點故障的事件發(fā)布到控制器。
用法
可以通過以下三種方式配置CloudHub:
? 僅啟動websocket服務器:查看詳細信息。
? 僅啟動quic服務器:查看詳細信息。
? 同時啟動websocket和quic服務器:查看詳細信息
總結
以上是生活随笔為你收集整理的CloudHub概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubeedge Edged概述
- 下一篇: GPU编程和流式多处理器