从官方的结构图,可以看出其中包含三大模块:
支持Socket等多种传输方式;
提供了多种协议的编解码实现;
核心设计包含事件处理模型,API的使用,ByteBuffer的增强ByteBuf。
优点优秀的可扩展性
极高的性能瓶颈(Netty实现百万连接不要太简单,客户端+服务端配置只需要内存达到8G即可)
不需要理解NIO,Reactor
代码实现简单
缺点需要了解Netty的使用(但是依靠demo,入门还是比较简单)
Netty易学难精(入门,熟练比较简单,但是精通比较难):
缺乏前置理论,源码很难深入理解;
Netty涉及一些设计模式,如责任链,单例,策略,观察者等;
Netty独有的ByteBuf,及其零拷贝等概念;
Netty涉及诸多工具类,如Http编解码工具类等。
代码示例