几种常见的负载均衡算法如下:

  一般情况下,负载均衡设备都会默认支持多种负载均衡的分发策略,如下几种:

轮询(RoundRobin):  
将收到的请求顺序循环地发送到集群的每个服务器上。当集群中的某个服务器发生故障,就把其从顺序循环队列中去除,不参加下一次的轮询了,直到其恢复正常再加入到队列中。  

比率(Ratio):  
给集群中的每个服务器分配一个加权值作为比值,根椐这个比值,把用户的请求分配到每个服务器。当其中某个服务器发生了故障,就将其从服务器队列中去除,不参加下一次的用户请求的分配,直到其恢复了正常。  

优先权(Priority):  
给所有服务器分组,给每个组定义优先权,将用户的请求分配给优先级最高的服务器组(在同一组内,采用预先设定的轮询或比率算法,分配用户的请求);当最高优先级中所有服务器或者指定数量的服务器出现故障,将把请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。  

最少连接数(LeastConnection):  
负载均衡服务器会记录当前每台服务器或者服务端口上的连接数,新的连接将传递给连接数最少的服务器。当其中某个服务器发生故障,就把其从服务器队列中去除,不参加下一次的用户请求的分配,直到其恢复了正常。  

最快响应时间(Fast Reponse time):  
新的连接传递给那些集群中响应最快的服务器。当其中某个服务器发生了故障,就把其从服务器队列中去除,不参加下一次的用户请求的分配,直到其恢复了正常。  

哈希算法( hash):   
将客户端的源地址,端口进行哈希运算,根据运算的结果转发给一台服务器进行处理,当其中某个服务器发生故障,就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。  

基于数据包的内容分发算法:  
例如通过判断HTTP请求的URL,如果URL中带有.jpg的扩展名,就把数据包转发到指定的服务器。其他不同种类扩展名分别转发到指定的服务器进行处理。