Nginx负载均衡

负载均衡算法

源地址哈希法:根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。

轮询法:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

随机法:通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。

加权轮询法:不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。

加权随机法:与加权轮询法一样,加权随机法也根据后端机器的配置,系统的负载分配不同的权重。不同的是,它是按照权重随机请求后端服务器,而非顺序。

最小连接数法:由于后端服务器的配置不尽相同,对于请求的处理有快有慢,最小连接数法根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。

Nginx

俄罗斯人开发的一个高性能的 HTTP和反向代理服务器。由于Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪、网易、腾讯、搜狐等企业的一些门户网站等,在3w以上的高并发环境下,ngnix处理能力相当于apache10倍。

负载均衡如何选择要转发的后端服务器

负载均衡器一般根据两个因素来决定要将请求转发到哪个服务器。

1:确保所选择的后端服务器是正常工作的,能给对用户的请求做出响应;

2:根据预先设置的负载均衡算法从健康服务器池中进行选择。

由于负载均衡器只应当选择能正常做出响应的后端服务器,因此就需要有一种机制能判断它所连的后端服务器是否正常工作。为了监视后台服务器的运行状况,运行状态检查服务会定期尝试使用转发规则定义的协议和端口去连接后端服务器。如果某个服务器没有通过健康检查,就会从健康池中剔除,保证流量不会被转发到该服务器,直到其再次通过健康检查为止。

nginx配置负载均衡

//举例,以下IP,端口无效

 upstream test{ 

     ip_hash; 

      server 11.22.333.11:6666 weight=1; 

      server 11.22.333.22:8888 down; 

      server 11.22.333.33:8888 backup;

      server 11.22.333.44:5555 weight=2; 

}

//down 表示单前的server临时不參与负载.

//weight 默觉得1.weight越大,负载的权重就越大

//backup 其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻

Leave a Reply

Your email address will not be published. Required fields are marked *