码迷,mamicode.com
首页 > 其他好文 > 详细

前端能力模型-负载均衡各种方式

时间:2015-03-28 18:46:08      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:负载均衡   http协议   后端服务   hadoop   集群   

负载均衡有以下几种方式:

一、基于客户端方式:

     每个客户程序都具有一定的服务器集群的知识,进而把以负载均衡的方式将请求发到不同的服务器。这种方式比较原始,现在一些老系统还在使用这种方式,客户端简单的使用轮询实现负载均衡。这种方式的可靠性,可维护性都很低,加重客户端开发的难度。
     结构图如下:

技术分享


二、基于DNS(DNS服务器)

a. 根据客户端IP地域将域名解析到不同的真实服务器
b. 对同一区域的真实服务器,使用Round-Robin把域名轮流解析到不同的真实服务器
DNS做负载均衡简单方便,但DNS的缓存时间较长,一旦出现问题,更新DNS信息需要等待客户端数分钟甚至数十分钟,可靠性不高,负载均衡算法也不够灵活。

技术分享


PS:南方客户每回询问DNS会被告知到不同的南方服务器IP,北方用户同理

三、HTTP重定向(服务端)

这是一种由服务端决定负载均衡的方法,服务器根据自身的负荷和用户的IP地域,将用户的请求使用HTTP 302重定向到其他服务器。

技术分享


四、基于第三方应用

     类似于DNS的方式,或者说DNS的负载均衡是这种方式的一种实现。这种方式需要一个第三方应用,它将作为整个系统中负载均衡的咨询师,服务器集群将自身的状态同步给第三方应用,客户端在发请求之前先询问第三方应用,在根据第三方应用的应答发出请求。这种方式具有高可定制性,但服务端和客户端都需要增加定制的客户端活API。
结构图如下:


技术分享
     
五、基于数据链路层

这个是很底层的负载均衡,一般实现于网络设备硬件中。如交换机或路由,统计各个端口的负载做适当的转发。

六、基于传输层

在服务器集群前端有一台或数台高稳定性的负载均衡服务器,所有请求先到达负载均衡服务器,负载均衡服务器再使用Round-Robin等方式转发请求到真实服务器。
有三种IP负载均衡技术:VS/NAT、VS/DR、VS/TUN。

1)VS/NAT(Virtual Server via Network Address Translation):通过网络地址转换(Network Address Translation)将内部地址转化为Internets上可用的外部地址。

技术分享


2)VSDR(Virtual Server via Direct Routing):通过直接路由实现虚拟服务器。与VS/TUN方法相同,VS/DR利用大多数Internet服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。

技术分享


3)VS/TUN(Virtual Server via IP Tunneling):通过IP隧道实现虚拟服务器,将请求报文封装动态地转发给后端服务器,响应报文能从后端服务器直接返回给客户。因请求报文较短而响应报文往往包含大量的数据,可以大大降低负载均衡器的压力。所有的服务器必须支持“IP Tunneling"或者"IP Encapsulation"协议。

技术分享

七、基于应用层

类似基于传输层的方式,但支持解析应用层数据,负载均衡算法较传输层方式更灵活,对于多个非重要小业务,可接入到同一IP。

八、基于运算

将负载的运算分隔成不同模块,分摊给不同集群节点分别计算以提升计算速度。如Hadoop。

这里每个都是单一点,实际项目中,经常是混合好几种技术来实现整体的负载均衡。





前端能力模型-负载均衡各种方式

标签:负载均衡   http协议   后端服务   hadoop   集群   

原文地址:http://blog.csdn.net/zqjflash/article/details/44703685

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!