NIO通信框架-Netty-ppt课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《NIO通信框架-Netty-ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NIO 通信 框架 Netty ppt 课件
- 资源描述:
-
1、NIONIO通信框架通信框架-Netty-Netty李林锋李林锋 neu_ neu_ 新浪微博新浪微博 Nettying Nettying大纲传统同步阻塞通信面临的问题传统同步阻塞通信面临的问题Netty提供的解决方案提供的解决方案Netty逻辑架构介绍逻辑架构介绍Netty主要功能特性介绍主要功能特性介绍Netty的行业应用的行业应用-3传统同步阻塞通信面临的问题传统同步阻塞通信面临的问题性能问题:一连接一线程模型导致服务端的并发接入数和系统吞吐量受到极大限制;可靠性问题:由于IO操作采用同步阻塞模式,当网络拥塞或者通信对端处理缓慢会导致IO线程被挂住,阻塞时间无法预测;可维护性问题:IO线
2、程数无法有效控制、资源无法有效共享(多线程并发问题),系统可维护性差-4JAVA 原生原生NIO类库的复杂性(服务端)类库的复杂性(服务端)-5JAVA 原生原生NIO类库的复杂性(客户端)类库的复杂性(客户端)-6Netty的解决方案异步、非阻塞、基于事件驱动的NIO框架;支持多种传输层通信协议,包括TCP、UDP等;提供对多种应用层协议的支持,包括TCP私有协议、HTTP协议、WebSocket协议、文件传输等;默认提供多种编解码能力,包括Java序列化、Google的ProtoBuf、二进制编解码、Jboss marshalling、文本字符串、base64、简单XML等;经典的Chan
3、nelFuture-listener机制,所有的异步IO操作都可以设置listener进行监听和获取操作结果;基于ChannelPipeline-ChannelHandler的责任链模式,可以方便的自定义业务拦截器用于业务逻辑定制;安全性:支持SSL、HTTPS;可靠性:流量整形、读写超时控制机制、缓冲区最大容量限制、资源的优雅释放等;简洁的API和启动辅助类,简化开发难度,减少代码量-7Netty逻辑架构-8Netty逻辑架构第一层:Reactor 通信调度层,它由一系列辅助类组成,包括 Reactor 线程NioEventLoop 以及其父类、NioSocketChannel/NioSer
4、verSocketChannel 以及其父类、ByteBuffer 以及由其衍生出来的各种 Buffer、Unsafe 以及其衍生出的各种内部子类等;第二层:职责链 ChannelPipeLine,它负责调度事件在职责链中的传播,支持动态的编排职责链,职责链可以选择性的拦截自己关心的事件,对于其它IO操作和事件忽略,Handler同时支持inbound和outbound事件;第三层:业务逻辑编排层,业务逻辑编排层通常有两类:一类是纯粹的业务逻辑编排,还有一类是应用层协议插件,用于协议相关的编解码和链路管理,例如 CMPP 协议插件。-9Netty功能特性1(NIO服务端)28行代码完成NIO服
5、务端的开发-10Netty功能特性1(NIO服务端)15行代码完成服务端业务逻辑定制-11Netty功能特性2(NIO客户端)26行代码完成NIO客户端开发-12Netty功能特性2(NIO客户端)28行代码完成NIO客户端开发-13Netty功能特性3-序列化(ProtoBuf)-14Netty功能特性3-序列化(marshalling)-15Netty功能特性3-序列化(Java)与原生的JAVA序列化机制兼容-16Netty功能特性4-半包解码器Netty提供4种半包解码器,可以解决几乎所有协议的半包解码问题:固定消息长度解码器:FixedLengthFrameDecoder;文本换行解
展开阅读全文