`
foreversunyao
  • 浏览: 204014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

淘宝-HSF

    博客分类:
  • Code
阅读更多

 

HSF:High-speed Service Framework

主要做了以下方面:服务方式的远程调用;软负载体系;服务可用性保障

spring-hessian

序列化方式一:Hessian 是由 caucho 提供的一个基于 binary-RPC 实现的远程通讯 library

   1 、是基于什么协议实现的 ?

            基于 Binary-RPC 协议实现。

   2 、怎么发起请求 ?

            需通过 Hessian 本身提供的 API 来发起请求。

   3 、怎么将请求转化为符合协议的格式的 ?

            Hessian 通过其自定义的串行化机制将请求信息进行序列化,产生二进制流。

   4 、使用什么传输协议传输 ?

            Hessian 基于 Http 协议进行传输。

   5 、响应端基于什么机制来接收请求 ?

            响应端根据 Hessian 提供的 API 来接收请求。

   6 、怎么将流还原为传输格式的 ?

            Hessian 根据其私有的串行化机制来将请求信息进行反序列化,传递给使用者时已是相应的请求信息对象了。

   7 、处理完毕后怎么回应 ?

            处理完毕后直接返回, hessian 将结果对象进行序列化,传输至调用端。

 

序列化方式二: Protocol buffer,Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. You can even update your data structure without breaking deployed programs that are compiled against the "old" format.

 

 

远程调用:同步、单向异步、Future异步、Callback异步、可靠异步

 

负载均衡 : failover,随机寻址,第七层路由,路由规则,权重规则

 

failover(故障转移):In computing , failover is the capability to switch over automatically to a redundant or standby computer server , system , or network upon the failure or abnormal termination of the previously active application ,[ 1] server, system, or network. Failover happens without human intervention and generally without warning, unlike switchover .

 

随机寻址:

负载均衡策略

选择合适的负载均衡策略,使多个设备能很好的共同完成任务,消除或避免现有网络负载分布不均、数据流量拥挤反应时间长的瓶颈。在各负载均衡方式中,针对不同的应用需求,在 OSI 参考模型的第二、三、四、七层的负载均衡都有相应的负载均衡策略。
负载均衡策略的优劣及其实现的难易程度有两个关键因素:一、负载均衡算法,二、对网络系统状况的检测方式和能力。
轮循均衡( Round Robin ): 每一次来自网络的请求轮流分配给内部中的服务器,从 1 N 然后重新开始。此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。  
权重轮循均衡( Weighted Round Robin ): 根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。例如:服务器 A 的权值被设计成 1 B 的权值是 3 C 的权值是 6 ,则服务器 A B C 将分别接受到 10% 30 %、 60 %的服务请求。此种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。  
随机均衡( Random ): 把来自网络的请求随机分配给内部中的多个服务器。  
权重随机均衡( Weighted Random ): 此种均衡算法类似于权重轮循算法,不过在处理请求分担时是个随机选择的过程。  
响应速度均衡( Response Time ): 负载均衡设备对内部各服务器发出一个探测请求(例如 Ping ),然后根据内部中各服务器对探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。此种均衡算法能较好的反映服务器的当前运行状态,但这最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时间,而不是客户端与服务器间的最快响应时间。
最少连接数均衡( Least Connection ): 客 户端的每一次请求服务在服务器停留的时间可能会有较大的差异,随着工作时间加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生 极大的不同,并没有达到真正的负载均衡。最少连接数均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新 的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。此种均衡算法适合长时处理的请求服务,如 FTP
处理能力均衡: 此种均衡算法将把服务请求分配给内部中处理负荷(根据服务器 CPU 型号、 CPU 数量、内存大小及当前连接数等换算而成)最轻的服务器,由于考虑到了内部服务器的处理能力及当前网络运行状况,所以此种均衡算法相对来说更加精确,尤其适合运用到第七层(应用层)负载均衡的情况下。
DNS
响应均衡( Flash DNS ): Internet 上,无论是 HTTP FTP 或是其它的服务请求,客户端一般都是通过域名解析来找到服务器确切的 IP 地址的。在此均衡算法下,分处在不同地理位置的负载均衡设备收到同一个客户端的域名解析请求,并在同一时间内把此域名解析成各自相对应服务器的 IP 地址(即与此负载均衡设备在同一位地理位置的服务器的 IP 地址)并返回给客户端,则客户端将以最先收到的域名解析 IP 地址来继续请求服务,而忽略其它的 IP 地址响应。在种均衡策略适合应用在全局负载均衡的情况下,对本地负载均衡是没有意义的。

 

HSF 框架:OSGI,动态部署;Core+Plugins 模式;动态线程池

 

 

动态线程池:Jini中的TaskManager

 

服务方式的远程调用:远程通信框架Mina,消息中间件Notify,序列化协议Hessian;跨语言协议XFire

Equinox

 

Mina通信

 

心跳机制

 

分享到:
评论
2 楼 bluky999 2014-02-26  
jiakechong 写道
跟啊里爸爸那个差不多吧



跟  dubbo 是同类产品,一个用在taobao.com,一个用在alibab.com
1 楼 jiakechong 2013-12-21  
跟啊里爸爸那个差不多吧

相关推荐

    淘宝好舒服 taobao-hsf

    taobao-hsf---淘宝好舒服

    淘宝HSF使用说明

    淘宝的HSF框架,用户手册,有兴趣的人欢迎下载~内部文档哦~

    hsf说明,简介,及简单操作

    SF全称为High-Speed Service Framework,旨在为淘宝应用提供一个分布式的服务框架,HSF从分布式应用层面以及统一的发布/调用方式层面为大家提供支持,从而可以很容易的开发分布式的应用以及提供戒使用公用功能模块,...

    淘宝技术这十年

    服务化中间件高性能服务框架HSF消息中间件Notify分布式数据访问层TDDLSession框架开放平台第6章 我在淘宝这八年作为淘宝技术的亲历者,我不经意间见证了一段伟大的历史,这段历史,从高层看波澜壮阔,从底层看妙趣...

    淘宝放单源码Java-modelproxy:根据需要为您的代理建模

    HSF...)。然而在使用Node开发web应用时,我们希望有一种统一方式访问这些代理资源的基础框架,为开发者屏蔽接口访问差异,同时提供友好简洁的数据接口使用方式。于是就有了 midway-modelproxy 这个构件。使用midway-...

    阿里巴巴dubbo简介

    阿里巴巴的dubbo和淘宝的hsf,到底哪个更好用呢,看了你就知道了

    开课吧-06Dubbo面试题暨知识点总结.pdf

     hsf:淘宝正在使用的 RPC 框架,业内简称“很舒服”。要比 Dubbo 早 2-3 年,是淘宝逐 步发展而来的。  sofa:蚂蚁金服正在使用的 RPC 框架,是阿里内部使用的金融云环境解决方案,与 Spring Cloud 功能相似,...

    taobao tomcat

    淘宝的tomcat, 基于Apache Tomcat 7, 集成hsf.sar,大小只有50M+

    《淘宝技术这十年》读书笔记:分布式时代和中间件

    这篇文章主要讲述分布式时代和中间件相关知识,包括服务化、HSF、Notify和TDDL。同时里面有我们经常遇见的编码错误等相关问题,希望文章对你有所帮助!在系统发展的过程中,架构师的眼光至关重要,作为程序员,只要把...

    阿里_D11互联网技术超级工程 终极版.pdf

    经历400多天打磨,HSF的架构和性能有哪些新突破? 直击阿里容器技术Pouch 直击阿里双11神秘技术: PB级大规模文件分发系统“ 蜻蜓” 双11万亿流量下的分布式缓存 2017双11交易系统TMF2.0技术揭秘,实现全链路管理 ...

    九年双11互联网技术超级工程

    经历400多天打磨,HSF的架构和性能有哪些新突破? 166 直击阿里容器技术Pouch 179 直击阿里双11神秘技术:PB级大规模文件分发系统“蜻蜓” 185 双11万亿流量下的分布式缓存 203 2017双11交易系统TMF2.0技术揭秘,...

    微服务架构下的开发部署实践

    例如最初的淘宝系统也是单体式应用,为了应对随着用户量增大而带来的系统处理能力不足的问题,淘宝对其应用系统进行了一系列服务化拆分和改造,淘宝开源的Dubbo框架以及其企业内部用的HSF框架都属于微服务架构的实现...

Global site tag (gtag.js) - Google Analytics