nginx做负载均衡服务器的时候,有多种策略,原生的策略有三种,轮询、权重和IP哈希,还有三种之外的组合策略,如url哈希等。
若后台各服务器资源配置均衡,则使用默认轮询的方式简单有效;如果后台服务器资源有差异,则权重方式可以比较均衡的分配请求;如果用户的请求与session相关,则IP 哈希可以省去一些后台处理session的事情。
nginx分配方式说明
轮询
轮询是nginx的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端应用服务器,如果某个后端应用服务器down掉后,nginx服务器会将该台应用服务器从服务列表中剔除掉。
upstream tomcats{
server 192.168.0.109:8080;
server 192.168.0.110:8080;
server 192.168.0.111:8080;
}
这里后台设置三台服务,配置中用了三台服务器,请求到达nginx后,nginx会将服务依次的分发到109、110和111三台后台服务,如果其中哪台服务down机了,则在剩余的两台机子中间轮询。
在后台服务器资源均衡的情况下,轮询是一种比较简单且可以做到均衡的分配方式。
权重
权重方式是在轮询基础上改进的,即可以设置请求轮询到后台各应用服务器的几率。权重weight值和访问几率成正比,主要应用于后端