高并发网络框架Netty

Netty概述

  Netty是由Jboss提供的一个异步,基于事件驱动的高性能网络通信开源框架,可以快速的开发高性能,高可靠的网络IO程序。

  Netty主要是针对TCP协议下,面向client端的高并发应用,或者P2P场景下大量数据持续传输应用。

  Netty本质就是一个NIO框架,适用于服务端通讯相关的多种应用场景。

  

1、原生NIO存在的问题

  NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 SelectorServerSocketChannelSocketChannelByteBuffer 等。

  1. 需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor 模式,你必须对多线程和网络编程非常熟悉,才能编写出高质量的 NIO 程序。

  2. 开发工作量和难度都非常大:例如客户端面临断连重连网络闪断半包读写失败缓存网络拥塞和异常流的处理等等。

  3. JDK NIO 的 Bug:例如臭名昭著的 Epoll Bug,它会导致 Selector 空轮询,最终导致 CPU 100%。直到 JDK 1.7 版本该问题仍旧存在,没有被根本解决。

 

高并发网络框架Netty

上一篇:CSS的压缩


下一篇:linux 安装Nginx PHP