亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

通過在云端進行智能邊緣核心設備的建立、身份制定、策略規(guī)則制定、函數編寫,然后生成配置文件下發(fā);物聯網設備網關技術架構設計(Session 管理、心跳管理、數據上行、數據下行)

介紹

物聯網設備網關技術架構設計(Session 管理、心跳管理、數據上行、數據下行)

物聯網云平臺設備網關技術架構設計 TCP gateway源碼免費分享

 

說明

NioEventLoop 是 Netty 的 Reactor 線程,其角色:

  1. Boss Group:作為服務端 Acceptor 線程,用于 accept 客戶端鏈接,并轉發(fā)給 WorkerGroup 中的線程。
  2. Worker Group:作為 IO 線程,負責 IO 的讀寫,從 SocketChannel 中讀取報文或向 SocketChannel 寫入報文。
  3. Task Queue/Delay Task Queue:作為定時任務線程,執(zhí)行定時任務,例如鏈路空閑檢測和發(fā)送心跳消息等。
概要說明
  • TcpServer :提供TCP連接服務
  • TcpSessionManager: 你可以添加監(jiān)聽事件,用于監(jiān)聽TCP會話創(chuàng)建、銷毀等
  • LogSessionListener:一個日志監(jiān)聽器,它和tcpSessionManager關聯,監(jiān)聽器必須事先 SessionListener
  • TcpSender:TCP發(fā)送者,用戶向客戶端發(fā)送消息通知、實現下行邏輯
  • ServerConfig: TCP 的配置管理類
  • TcpConnector: TCP 容器,用于管理服務和客戶端的連接
  • NotifyProxy: 發(fā)送通知到代理類

以上都是默認配置,你可以不修改,但是你可能需要換個TCP端口

.TCP網關的網絡結構

基于Netty構建TCP網關的長連接容器,作為網關接入層提供服務API請求調用。

客戶端通過域名+端口訪問TCP網關,域名不同的運營商對應不同的VIP,VIP發(fā)布在LVS上,LVS將請求轉發(fā)給后端的HAProxy,再由HAProxy把請求轉發(fā)給后端的Netty的IP+Port。

LVS轉發(fā)給后端的HAProxy,請求經過LVS,但是響應是HAProxy直接反饋給客戶端的,這也就是LVS的DR模式。

物聯網云平臺設備網關技術架構設計 TCP gateway源碼免費分享

 

TCP網關執(zhí)行時序圖

物聯網云平臺設備網關技術架構設計 TCP gateway源碼免費分享

 

其中步驟一至步驟九是 Netty 服務端的創(chuàng)建時序,步驟十至步驟十三是 TCP 網關容器創(chuàng)建的時序。

  • 步驟一:創(chuàng)建 ServerBootstrap 實例,ServerBootstrap 是 Netty 服務端的啟動輔助類。
  • 步驟二:設置并綁定 Reactor 線程池,EventLoopGroup 是 Netty 的 Reactor 線程池,EventLoop 負責所有注冊到本線程的 Channel。
  • 步驟三:設置并綁定服務器 Channel,Netty Server 需要創(chuàng)建 NIOServerSocketChannel 對象。
  • 步驟四:TCP 鏈接建立時創(chuàng)建 ChannelPipeline,ChannelPipeline 本質上是一個負責和執(zhí)行 ChannelHandler 的職責鏈。
  • 步驟五:添加并設置 ChannelHandler,ChannelHandler 串行的加入 ChannelPipeline 中。
  • 步驟六:綁定監(jiān)聽端口并啟動服務端,將 NioServerSocketChannel 注冊到 Selector 上。
  • 步驟七:Selector 輪訓,由 EventLoop 負責調度和執(zhí)行 Selector 輪詢操作。
  • 步驟八:執(zhí)行網絡請求事件通知,輪詢準備就緒的 Channel,由 EventLoop 執(zhí)行 ChannelPipeline。
  • 步驟九:執(zhí)行 Netty 系統(tǒng)和業(yè)務 ChannelHandler,依次調度并執(zhí)行 ChannelPipeline 的 ChannelHandler。
  • 步驟十:通過 Proxy 代理調用后端服務,ChannelRead 事件后,通過發(fā)射調度后端 Service。
  • 步驟十一:創(chuàng)建 Session,Session 與 Connection 是相互依賴關系。
  • 步驟十二:創(chuàng)建 Connection,Connection 保存 ChannelHandlerContext。
  • 步驟十三:添加 SessionListener,SessionListener 監(jiān)聽 SessionCreate 和 SessionDestory 等事件。

程序運行案例步驟

物聯網云平臺設備網關技術架構設計 TCP gateway源碼免費分享

 

1.配置本地Host

Window 地址 // C:windowsSystem32driversetchosts

添加 127.0.0.1 iot-open.icloud.com

2.啟動Server

位置: com.ibyte.iot.test.server.TestTcpServer

2.啟動Client

位置: com.ibyte.iot.test.client.TcpClient

先轉發(fā) 加關注,然后私信“網關”即可免費獲取下載鏈接

如果物聯網平臺定制開發(fā)請加關注后私信私聊

 

物聯網云平臺設備網關技術架構設計 TCP gateway源碼免費分享

 

 

分享到:
標簽:聯網
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰(zhàn)2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定