Netty采用NIO而非AIO的理由

1、Netty不看重在Windows系统上的应用,而在Linux系统上AIO的底层实现仍使用EPOLL模型,没有很好的实现AIO,因此性能上没有明显的优势,而且被JDK封装一层也不容深度优化。

2、Netty整体架构是Reactor模型,而AIO是Proactor模型,混合在一起会非常的混乱。

3、AIO有个缺点是接收数据需要预先分配缓存,而不是NIO那种需要接收时才需要分配缓存,所以对连接数量非常大且流量较小的情况会浪费内存。

4、Linux上AIO不够成熟,处理回调结果速度跟不上处理需求,比如外卖太少,顾客太多,供不应求,造成处理速度有瓶颈(待验证)。

原创文章 6 获赞 8 访问量 1731

猜你喜欢

转载自blog.csdn.net/qq_27324761/article/details/103785297