淘宝-HSF

 

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通信

 

心跳机制

 

你可能感兴趣的:(spring,Mina)