netty总结

Posted yintutu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了netty总结相关的知识,希望对你有一定的参考价值。

一. netty是什么

java有提供的操作网络的接口有两种IONIO,JDK7还有NIO2NIO就是非阻塞的IONIO是一个线程对应多个客户端,IO则是一个SOCKET对一个线程,两者的模型图如下

 

   

Netty则是一个封装了ionio的高性能高可用的网络框架,通过netty简化又丰富了原生的NIO操作,并且避免了NIO的原生缺陷。

二. netty设计思想

一个简单的nettydemo最少需要配置以下这些东西:Bootstrap ,然后在Bootstrap中分别指定EventLoopGroup,Channel,childHander 其中前面两个必须同是IO或者同时NIO的实现类型,childHander则是具体实现业务逻辑的地方,可以说一个hander代表一个功能,所有的hander都有共同的底层基础,通过组合各个hander,包括netty自带的和我们自己实现的,最终作为一个整体,提供应有的业务服务,netty本身提供了大量的hander来支持我们的开发,包括对常见的HTTP协议,websocket协议,spdy协议,实现了底层协议的封装,使开发者不用关心细节,而且所有这些提供的hander都实现了netty抽象出来的抽象类,因此我们还可以通过自定义的类对netty原有的类进行替换。Nettyhander都保存在ChannelContext中,分为InOut两大类

 

 

 

Netty3线程模型

 

Netty4线程模型

 

三. 分享个人学习netty过程及收获

本人学习netty主要是靠两本书(netty in action 英文版和翻译版)和idea,经过两本书的对比,我强烈推荐大家看英文原版,不仅可以学技术还可以提高你的英文水平,这里还要几个我觉得比较重要的点,1.hander的顺序>解密>解压缩>聚合FullHttpRequest

  1. jdk7新增了NIO2

.结尾

感谢各位能看到这儿,笔者写这篇博客主要是从个人总结的角度来写的,有什么不足之处欢迎大家指正和提出建议。

以上是关于netty总结的主要内容,如果未能解决你的问题,请参考以下文章

Netty项目使用经验总结

Netty项目使用经验总结

netty学习总结

Netty总结

Netty——知识点总结

netty总结