Netty 采用NIO 而非AIO 的理由
生活随笔
收集整理的這篇文章主要介紹了
Netty 采用NIO 而非AIO 的理由
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Netty 不看重Windows 上的使用,在Linux 系統上,AIO 的底層實現仍使用EPOLL,沒有很好實現AIO,因此在性能上沒有明顯的優勢,而且被JDK 封裝了一層不容易深度優化
2.Netty 整體架構是reactor 模型, 而AIO 是proactor 模型, 混合在一起會非常混亂,把AIO 也改造成reactor 模型看起來是把epoll 繞個彎又繞回來
3.AIO 還有個缺點是接收數據需要預先分配緩存, 而不是NIO 那種需要接收時才需要分配緩存, 所以對連接數量非常大但流量小的情況, 內存浪費很多
4.Linux 上AIO 不夠成熟,處理回調結果速度跟不到處理需求,比如外賣員太少,顧客太多,供不應求,造成處理速度有瓶頸(待驗證)
?
總結
以上是生活随笔為你收集整理的Netty 采用NIO 而非AIO 的理由的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Netty 支持的功能与特性
- 下一篇: RPC 概述