NIO通信了解
1.數據包序列化后通過字節流管道 out(輸出)tcp/ip協議
2.高并發情況下,阻塞式的通信業務模型(每一個客服端的請求都會重啟一個新的線程去響應),將極大地占用線程資源,會增大創建和銷毀的資源消耗
導致服務器響應緩慢,甚至任務排隊過久、超時、丟失 ? ? ?BIO
二:NIO的通信模式:
NIO:一種非阻塞式通信模式,線程在執行這個通信業務過程中,如果有一個環節沒有準備好,那么線程可以去執行其他任務,線程占用的情況大幅度釋放。
相對于獨有組成部分:
1. Channel ?NIO 通信當中啟用的一種高速通道,這個通道能滿足業務來回,減少50%創建管道資源,傳輸速度大大加快(封裝socker)
2.Buffer(緩沖區) 增大了通信的吞吐量的港口
3.Selector(多用服用注冊器) ?注冊通信事件地方,多路復用注冊器 Netty 是在nio基礎拓展 事件驅動模型的通信框架
4.SelectKey Socket 事件類型描述組件 Selectkey包含了信息包中所屬哪個客戶端的信息(Channel信息),還包含了這個通信的具體事件類型
一個線程可以維護Selector達到維護對個客戶端通信業務
總結:1.NIO是基于事件驅動模型,因此占用服務器資源大大減少
2.緩存區的出現配上高速通道 大大加速傳輸的效率
3.一個線程維護多個客戶端處理模型(客戶端的狀態都是維護在Select 一個線程去監聽Selector 等于維護了多個客戶端)
4.SelectKey ?Channel 里面的信息 ,信息包含這個客戶端的信息和客戶端處于什么事件類型
Netty 緩存區改善:
線程池維護多個Selector
引進Reactor線程模型 通過啟動參數確定最終適合系統的運行模式 輔助啟動類的構建使用
緩沖區讀寫模式切換不需要手動了
?
轉載于:https://www.cnblogs.com/yxb-ylp-520/p/7732768.html
總結
- 上一篇: 欢迎来怼第二周Scrum会议六(总第十三
- 下一篇: 模板——线性筛素数