Netty+架构剖析及行业应用.pdf

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Netty架构剖析和行业应用 李林锋 neu_lilinfeng@ 新浪微博 Nettying 微信 Nettying  Netty介绍  Netty架构剖析  Mina VS Netty  Netty行业应用 Netty介绍 Netty是一个异步、事件驱动的网络应用框架。 基于Netty,可以快速的开发和部署高性能、 高可用的网络服务端和客户端应用。 Netty架构剖析-性能模型 通信性能三要素 传输 协议 线程 Netty架构剖析-性能模型 IO模型:异步非阻塞 I/O 数据协议:可定制的编解码框架 线程模型:Reactor线程模型 Netty架构剖析-性能模型 JDK1.4开始提供非阻塞 I/O (NIO) JDK1.5_update10版本使用epoll替代了传统的 select/poll Netty架构剖析-性能模型 零拷贝 Netty的接收和发送ByteBuffer采用DIRECT BUFFERS Netty提供了组合Buffer对象,可以聚合多个 ByteBuffer对象,用户可以像操作一个 Buffer那样方便的对组合Buffer进行操作 Netty的文件传输采用了transferTo方法 Netty架构剖析-性能模型 内存池 执行300万次,采用内存 池性能比朝生夕灭的 ByteBuf高23倍左右 Netty架构剖析-单线程模型 Reactor单线程模型,指的是所有的IO操作都在 同一个NIO线程上面完成 Netty架构剖析-多线程模型 专门一个NIO线程-Acceptor线程用于监听服务端, 接收客户端的TCP连接请求; 网络IO操作-读、写等由一个NIO线程池负责 Netty架构剖析-线程模型 无锁化的串行设计:为了尽可能提升性能,Netty 采用了串行无锁化设计,在 IO线程内部进行串行 操作,避免多线程竞争导致的性能下降。 Netty架构剖析-协议 影响序列化性能的关键因素总结如下: 1.序列化后的码流大小(网络带宽的占用); 2.列化反序列化的性能(CPU资源占用)。 Netty架构剖析-协议 可定制的序列化框架  ProtoBuf  Java序列化 Xml 用户自定义序列化框架 Netty架构剖析-可靠性 心跳检测 读空闲;写空闲;读写空闲 Netty架构剖析-可靠性 Reactor线程的保护 某个消息的异常不应该导致整条链路不可 用; 某条链路不可用不应该导致其它链路不可 用; JDK epoll 空轮询BUG的检测和修复 Netty架构剖析-可靠性 内存保护  缓冲区的内存泄漏保护:内存检测和释放 缓冲区内存溢出保护:对缓冲区进行上限保 护 Netty架构剖析-可靠性 流量整形 流量整形(Traffic Shaping)是一种主动调整 流量输出速率的措施。一个典型应用是基于下游 网络结点的TP指标来控制本地流量的输出。 Netty提供全局级和链路级流量整形功能。 Netty架构剖析-安全性

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档