Netty是由JBOSS提供的一个开源的java网络编程框架,主要是对java的nio包进行了再次封装。Netty比java原生的nio包提供了更加强大、稳定的功能和易于使用的api。 netty的作者是Trustin Lee,这是一个韩国人,他还开发了另外一个著名的网络编程框架,mina。二者在很多方面都十分相似,它们的线程模型也是基本一致 。不过netty社区的活跃程度要mina高得多。
Netty的应用案例:
apache storm ,这是一个分布式实时计算框架
hadoop,其RPC框架Avro就使用了Netty作为底层通信框架
apache rocketmq,这是阿里巴巴的一个消息中间件,现在已经捐赠给apache了
apache dubbo,这是阿里巴巴开发的一个SOA服务治理框架
...
Netty版本选择
3.x 目前企业使用最多的版本,最为稳定。例如dubbo使用的就是3.x版本
4.x 引入了内存池等重大特性,可以有效的降低GC负载,rocketmq使用的就是4.x
本教程使用4.1.22.Final进行讲解,最后会补充一些3.x的内容
io.netty
netty-all
4.1.22.Final