HSF框架流程设计及原理.pdfVIP

  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文档。上传文档
查看更多
HSF框架流程设计及原理

简介 :轻量封装Ibatis3 因为本人在国内最大的电子商务公司工作期间,深感一个好的分表分库框架可以大大提高系统的承载能力及系统的 灵活性 ,而一个不好的分表分库方案 ,则让系统在大数据量处理的时候非常郁闷。所以 ,在根据笔者在从事电子商务开发 的这几年中,对各个应用场景而开发的一个轻量封装Ibatis3的一个分表分库框架。 笔者工作的这几年之中,总结并开发了如下几个框架 :summercool(Web 框架 ,已经应用于某国内大型网络公 司的等重要应用)、summercool-hsf(基于Netty实现的RPC框架 ,已经应用国内某移动互联网公司)、summercool-ddl (基于Mybaits的分表分库框架 ,已经应用国内某移动互联网公司);相继缓存方案、和消息系统解决方案也会慢慢开源。 Summercool框架做为笔者的第一个开源框架 summercool-hsf :http///svn/trunk 我的官方微博 :/vanwelldotcn 我的官方扣群 :102934900 1.什么是HSF框架 HSF框架是一个高性能远程通信框架 ,底层基于 Netty实现TCP通信 ,对上层进行封装 ,提供易于使用和高度可扩展能力。 名词解译 : 1)Channel :可以理解为一个通道 ,或者连接 2)ChannelGroup :多个通道组合成为一个ChannelGroup 2.HSF工作流程 3.消息协议设计 消息协议这里是指对消息编码和解码的规范的一种定义 ,HSF内置的消息协议采用如下结构 : Length:以4个字节表示 ,是指ID+Content的长度。 ID :以1个字节表示 ,1表示Content部分被压缩 ,0表示未被压缩。 Content :真实的消息内容。 4.处理器 Netty框架原生提供一个处理器链对事件进行处理 ,每个处理器均实现ChannelHandler接口,ChannelHandler是个 空接口,拥有三个子接口:ChannelDownstreamHandler,ChannelUpstreamHandler和 LifeCycleAwareChannelHandler。这里我们主要关注前两个接口,因为它们被用来处理读与写的消息。 事件主要分为三种 :ChannelEvent、MessageEvent和ExceptionEvent ,一旦这些事件被触发 ,它们将从处理器链的 一端到另一端 ,被逐个处理器处理 ,注意 ,整个过程是单线程场景。一般而言 ,ChannelEvent和ExceptionEvent事件都 是从底层被触发 ,因此 ,它们会被ChannelUpstreamHandler处理。而MessageEvent则需要根据读与写方式的不同, 分别从两个方向被ChannelUpstreamHandler和ChannelDownstreamHandler处理。 HSF内置的编(解)码处理器、压缩(解压)处理器及序列化(反序列化)处理器等都是直接或间接实现ChannelHandler。 ChannelDownstreamHandler Java代码 1. publicinterfaceChannelDownstreamHandlerextendsChannelHandler{ 2. /** 3. *Handlesthespecifieddownstreamevent. 4. * 5. *@paramctx thecontextobjectforthishandler 6. *@parame thedownstreameventtoprocessorintercept 7. */ 8. voidhandleDownstream(ChannelHandlerContextctx,ChannelEvente)throwsException; 9. } ChannelUpstreamHandler Java代码 1. publicinterfaceChannelUpstreamHandlerextendsChannelHandler{ 2. /** 3. *Handlesthespecifiedupstreamevent. 4. * 5. *@paramctx thecontextobjectforthishandler 6.

文档评论(0)

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

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

1亿VIP精品文档

相关文档