书签 分享 收藏 举报 版权申诉 / 33
上传文档赚钱

类型NIO通信框架-Netty-ppt课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2868963
  • 上传时间:2022-06-06
  • 格式:PPT
  • 页数:33
  • 大小:1.70MB
  • 【下载声明】
    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;文本换行解

    6、码器:LineBasedFrameDecoder;分隔符解码器:DelimiterBasedFrameDecoder;1. 基于消息长度的通用解码器:LengthFieldBasedFrameDecoder-17Netty功能特性5-编码器POJO对象到ByteBuf的编码器:MessageToByteEncoderPOJO对象到POJO对象编码器: MessageToMessageEncoder消息长度编码器:LengthFieldPrepender-18Netty功能特性6-多协议(HTTP)异步非阻塞HTTP协议栈-19Netty功能特性7-多协议(WebSocket)WebSocket

    7、协议栈基于HTTP协议栈+WebSocket编解码 实现-20Netty功能特性8-多协议(UDP)与TCP协议风格一致的API,降低用户开发难度-21Netty功能特性9-多协议(File传输)异步文件传输-22Netty功能特性10-安全性-23Netty功能特性11-可靠性(流量整形)基于Channel的流量整形:ChannelTrafficShapingHandler基于全局的流量整形: GlobalTrafficShapingHandler可定制的流量整形抽象类: AbstractTrafficShapingHandler-24Netty功能特性12-可靠性(超时控制)异步连接超时机

    8、制:ChannelConfig的setConnectTimeoutMillis(int connectTimeoutMillis);-25Netty功能特性13-可靠性(心跳检测)基于链路空闲的读超时:ReadTimeoutHandler;基于链路空闲的写超时:WriteTimeoutHandler;链路空闲状态触发器:IdleStateHandler;-26Netty功能特性14-可定位性(日志)提供LoggingHandler,它支持如下功能: 将二进制byte数组转换成16进制码流打印; 将二进制byte数组转换成字符打印; 通过拦截的方式按照指定格式打印数据报-27Netty功能特性1

    9、5-内存管理策略以ByteBuf为例,Netty提供四种ByteBuf:基于内存池可重复利用的非堆内存:PooledDirectByteBuf;基于内存池可重复利用的堆内存: PooledHeapByteBuf;朝生夕灭的非堆内存:UnpooledDirectByteBuf;朝生夕灭的堆内存:UnpooledHeapByteBuf。 为了更高效的管理内存,做到自动/及时的释放不再引用的对象,Netty内置的资源对象实现ReferenceCounted接口,对内存的申请和释放做统一管理。-28Netty功能特性16-异步的结果回调基于经典的Future-Listener机制实现-29Netty行

    10、业应用-互联网分布式架构随着互联网的发展,网站应用规模的不断扩大,常规的垂直应用架构已无法应对,利用分布式服务架构进行弹性伸缩是大势所趋Dubbo是阿里巴巴开源的分布式服务框架,目前已经应用于所有非淘宝系的阿里产品中,包括来往、聚划算、阿里巴巴集团网、阿里巴巴中文站等等Dubbo内部私有通信协议-dubbo协议默认使用Netty作为高性能异步通信框架,为分布式服务节点之间提供高性能的NIO客户端和服务端通信。-30Netty行业应用-大数据领域Apache Avro 是 Hadoop的子系统之一,它的主要功能如下: 丰富的数据结构; 压缩、高效、二进制的序列化框架; 远程服务调用(RPC);

    11、多语言、灵活的集成能力。Avro的RPC框架提供基于Netty的NettyServer和基于Jetty的HttpServer两种通信服务端。-31Netty行业应用-游戏行业Netty适合游戏服务器的几个核心特性: 高并发:由于采用异步非阻塞模式,一个Netty游戏服务端可以同时处理成千上万的游戏玩家登陆和在线; 高性能:Netty的性能在各个NIO框架中最高,它的单节点吞吐量非常大,适合海量玩家同时在线游戏; 安全性:支持HTTPS、SSL等,可以在传输层进行安全控制; 定制性:可以方便的实现业务逻辑的定制、游戏编解码的定制,可以方便的与第三方进行集成,例如amf3等。-32推荐Netty学习教材2014年5月,由电子工业出版社博文视点推出的中国第一本Netty教材Netty权威指南即将出版,敬请关注。谢谢聆听谢谢聆听 ! ! 李林锋李林锋 neu_ neu_ 新浪微博:新浪微博:NettyingNettyingQ & AQ & A

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:NIO通信框架-Netty-ppt课件.ppt
    链接地址:https://www.163wenku.com/p-2868963.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库