netty--初入門(1)

netty相對於傳統的java序列化+BIO的通信框架性能提高了8倍,主要是對NIO的封裝能夠支持10w的TPS

 

 

netty實現流程:

 

 

 

內存池 :

 

高效的reactor線程模型 :

1) Reactor單線程模型: 所有IO操作都在同一個NIO線程上完成,NIO線程的職責如下 : 

          a.作爲NIO服務端,接收客戶端TCP連接,

          b.作爲NIO客戶端,向服務端發起TCP鏈接

          c. 讀取通信端的請求或應答消息

          

2) Reactor多線程模型 :

      

3) 主從Reactor多線程模型

 

無鎖化的串行設計理念:

在大多數場景下,並行多線程處理可以提升系統的併發性能,但是如果對於共享資源的併發訪問處理不當,會帶來嚴重的鎖競爭,這最終會導致性能下降,爲儘可能的避免鎖競爭帶來的性能損耗,可以通過串行化設計,即消息的處理儘可能在同一線程內完成,期間不進行線程切換,這樣就避免了多線程競爭和鎖切換,

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章