码迷,mamicode.com
首页 > Web开发 > 详细

netty总结

时间:2018-07-31 23:45:58      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:个人总结   类型   strong   socket   eve   不用   英文   推荐   设计   

一. 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总结

标签:个人总结   类型   strong   socket   eve   不用   英文   推荐   设计   

原文地址:https://www.cnblogs.com/yintutu/p/9398597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!