nio通信框架-netty.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
nio通信框架-netty

NIO通信框架-Netty 李林锋 neu_lilinfeng@ 新浪微博 Nettying 大纲 传统同步阻塞通信面临的问题 JAVA 原生NIO类库的复杂性(服务端) JAVA 原生NIO类库的复杂性(客户端) Netty的解决方案 异步、非阻塞、基于事件驱动的NIO框架; 支持多种传输层通信协议,包括TCP、UDP等; 提供对多种应用层协议的支持,包括TCP私有协议、HTTP协议、WebSocket协议、文件传输等; 默认提供多种编解码能力,包括Java序列化、Google的ProtoBuf、二进制编解码、Jboss marshalling、文本字符串、base64、简单XML等; 经典的ChannelFuture-listener机制,所有的异步IO操作都可以设置listener进行监听和获取操作结果; 基于ChannelPipeline-ChannelHandler的责任链模式,可以方便的自定义业务拦截器用于业务逻辑定制; 安全性:支持SSL、HTTPS; 可靠性:流量整形、读写超时控制机制、缓冲区最大容量限制、资源的优雅释放等; 简洁的API和启动辅助类,简化开发难度,减少代码量 Netty逻辑架构 Netty逻辑架构 第一层:Reactor 通信调度层,它由一系列辅助类组成,包括 Reactor 线程NioEventLoop 以及其父类、NioSocketChannel/NioServerSocketChannel 以及其父类、ByteBuffer 以及由其衍生出来的各种 Buffer、Unsafe 以及其衍生出的各种内部子类等; 第二层:职责链 ChannelPipeLine,它负责调度事件在职责链中的传播,支持动态的编排职责链,职责链可以选择性的拦截自己关心的事件,对于其它IO操作和事件忽略,Handler同时支持inbound和outbound事件; 第三层:业务逻辑编排层,业务逻辑编排层通常有两类:一类是纯粹的业务逻辑编排,还有一类是应用层协议插件,用于协议相关的编解码和链路管理,例如 CMPP 协议插件。 Netty功能特性1(NIO服务端) 28行代码完成NIO服务端的开发 Netty功能特性1(NIO服务端) 15行代码完成服务端业务逻辑定制 Netty功能特性2(NIO客户端) 26行代码完成NIO客户端开发 Netty功能特性2(NIO客户端) 28行代码完成NIO客户端开发 Netty功能特性3-序列化(ProtoBuf) Netty功能特性3-序列化(marshalling) Netty功能特性3-序列化(Java) 与原生的JAVA序列化机制兼容 Netty功能特性4-半包解码器 Netty提供4种半包解码器,可以解决几乎所有协议的 半包解码问题: 固定消息长度解码器:FixedLengthFrameDecoder; 文本换行解码器:LineBasedFrameDecoder; 分隔符解码器:DelimiterBasedFrameDecoder; 基于消息长度的通用解码器:LengthFieldBasedFrameDecoder Netty功能特性5-编码器 POJO对象到ByteBuf的编码器:MessageToByteEncoder POJO对象到POJO对象编码器: MessageToMessageEncoder 消息长度编码器:LengthFieldPrepender Netty功能特性6-多协议(HTTP) 异步非阻塞HTTP协议栈 Netty功能特性7-多协议(WebSocket) WebSocket协议栈基于HTTP协议栈+WebSocket编解码 实现 Netty功能特性8-多协议(UDP) 与TCP协议风格一致的API,降低用户开发难度 Netty功能特性9-多协议(File传输) 异步文件传输 Netty功能特性10-安全性 Netty功能特性11-可靠性(流量整形) 基于Channel的流量整形:ChannelTrafficShapingHandler 基于全局的流量整形: GlobalTrafficShapingHandler 可定制的流量整形抽象类: AbstractTrafficShapingHandler Netty功能特性12-可靠性(超时控制) 异步连接超时机制:ChannelConfig的setConnectTimeoutMillis(int connectTimeoutMillis); Netty功能特性13-可靠性(心跳检测) 基于链路空闲的读超时:ReadTimeoutHandler; 基于链路空闲的写超时:WriteTimeoutHandler; 链路空闲状

文档评论(0)

牛X文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档