文章目录

  • 1 轮询(默认)
  • 2 权重 weight
  • 3 ip_hash( IP绑定)
  • 4 fair(第三方插件)
  • 5、url_hash(第三方插件)



Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡
Nginx负载均衡策略:

1)ip_hash:依据ip分配方式,指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端请求一致发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。

upstream [服务器组名称]{
  ip_hash;
  server [IP地址]:[端口号];
  server [IP地址]:[端口号];
}

2)轮询:最基本的配置方法,是upstream模块默认的负载均衡策略。每个请求会按时间顺序平均分配到不同的后端服务器。

upstream [服务器组名称]{
  server [IP地址]:[端口号];
  server [IP地址]:[端口号];
}

3)weight:权重方式,在轮询策略的基础上指定轮询的几率。也可以认为是在轮询的基础上新增了一个weight的参数,此参数指定轮询的几率,值为number。

upstream [服务器组名称]{
  server [IP地址]:[端口号] weight=2;
  server [IP地址]:[端口号] weight=8;
}

负载均衡算法实现是为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。

1 轮询(默认)

  • 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某个服务器宕机,能自动剔除故障系统。

2 权重 weight

  • weight的值越大分配
  • 到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

3 ip_hash( IP绑定)

  • 每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题

4 fair(第三方插件)

  • 必须安装upstream_fair模块。
  • 对比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配。
  • 哪个服务器的响应速度快,就将请求分配到那个服务器上。

5、url_hash(第三方插件)

  • 必须安装Nginx的hash软件包
  • 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。