按照定义来说,Netty 是一个异步、事件驱动的用来做高性能、高可靠性的网络应用框架。主要的优点有:
1. 框架设计优雅,底层模型随意切换适应不同的网络协议要求。
2. 提供很多标准的协议、安全、编码解码的支持。
3. 解决了很多NIO 不易用的问题。
4. 社区更为活跃,在很多开源框架中使用,如Dubbo、RocketMQ、Spark 等。
上图体现的主要是Netty 支持的功能或者特性:
1.底层核心有:Zero-Copy-Capable Buffer,非常易用的灵拷贝Buffer(这个内容很有意思,稍后专门来说);统一的API;标准可扩展的时间模型
2.传输方面的支持有:管道通信(具体不知道干啥的,还请老司机指教);Http 隧道;TCP 与UDP
3.协议方面的支持有:基于原始文本和二进制的协议;解压缩;大文件传输;流媒体传输;protobuf 编解码;安全认证;http 和websocket