日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSM+Netty项目结合思路

發布時間:2023/12/13 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSM+Netty项目结合思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近正忙于搬家,面試,整理團隊開發計劃等工作,所以沒有什么時間登陸個人公眾號,今天上線看到有粉絲想了解下Netty結合通用SSM框架的案例,由于公眾號時間限制,我不能和此粉絲單獨溝通,再此寫一篇手記分享下。

對于Netty大致覺得是邁向中級開發的必備通信框架,它是輕量級的,且其架構的演進也是相當的出色。對于更多的Netty基礎知識我也在去年開發中做了記錄,大家可以閱歷公眾號歷史查看Netty相關技術知識,案例項目是我主導開發的上一個大型項目,類似共享充電寶的共享應用,同樣主體是小程序,而其中硬件中,嵌入式選用單片機作為主體開發,我則在IOT與Netty中糾結,最后選用Netty也是大部分通信架構都是基于Netty進行重構設計的,類似京東內部應用通信架構也是Netty為基礎。

Netty與傳統的通信架構不一樣,它采用了雙層概念,這是我自己身實現都的一種白話型理解,兩個工作流或容器(ChannelGroup)一個來處理連接實例,一個來處理正在連接通信。

使用Netty我的容器可以僅開啟監聽一個端口,之后的連接通信均交給Netty來實現,當然通信的數據格式也要統一,幀頭、幀尾、加密(項目采用CRC16)等等。

以上是真實項目的netty包下的目錄截圖,一些基本工具類是為了解密與雙向通信發送的實現,由于單片機使用TCP,所以我們要自定義一個TCP的Handler,加入Netty的handler鏈中,心跳機制就多說了,主要還有Db層,這是用于在接收到數據,立即進行數據庫的讀寫操作,由于項目本身使用MyBatis作為數據的持久層,但是在Handler中并不能很好的處理,所以我使用了原生的數據庫連接,并在數據通信的不同類型中,使用線程來執行數據庫操作。

如上圖的示例,還有就是鏈接對象的唯一性,channelId與channel本身的對應要做好處理,我使用了全局的map來收集,并做了防護機制,同一channel示例,如果鏈接成功后,出現不一致的channelId發送信息時,系統會自動斷開此危險鏈接。

對于netty的使用還不是很深入,還需要更多的反復推敲,希望這位朋友可以有所收獲或有什么問題重新與公眾號聯系。

關于本項目案例的源碼,我需要一定時間進行部分抽離,畢竟netty在本項目中只是通信的小部分,還有很多模塊不能完全分享出來,涉及商務信息保密,請見諒。

轉載于:https://www.cnblogs.com/UncleCatMySelf/p/9250935.html

總結

以上是生活随笔為你收集整理的SSM+Netty项目结合思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。