Nginx(八)-- 负载均衡

时间:2023-03-08 17:37:12

1.概念

  负载均衡 建立在现有的网络结构上,提供一种廉价有效透明的方法来扩大网络设置和服务器的带宽、增加吞吐量、加强网络数据处理能力,以及提供网络的灵活性和可用性。

  用得较多的负载均衡器硬件有F5 BIG-IP,软件有 LVS,Nginx及HA-Proxy 。高可用软件有 Hearbeat和keepalived 。成熟的Linux集群架构有LVX+Keepalived、Nginx+keepalived及DRBD+Hearbeat。

  Nginx可以按轮询、IP_hash、URL_hash、权重等多种方法对后端的服务器执行负载均衡操作,同时还支持对后端服务器的健康检查。

2.upstream

  upstream 是nginx服务器的一个重要模块,upstream模块实现在轮询在客户端ip之间实现后端的负载均衡。

3.利用Upstream实现负载均衡的几种方式

  1.轮询

  在http中配置upstream,在server中配置反向代理,如下:

  Nginx(八)-- 负载均衡

  在浏览器中访问:http://192.168.80.128/,刷新几次界面后,效果如下:

  Nginx(八)-- 负载均衡        Nginx(八)-- 负载均衡

  因为我是运用了两个tomcat,一个版本是7.0.75,一个是7.0.79,刷新几次界面后,可以看到跳转到不同的tomcat。

  当然,可以配置多个upstream,然后配置多个 server。

  2.ip_hash,可以保证session共享

  Nginx(八)-- 负载均衡

  在浏览器中访问:http://192.168.80.128/,不管刷新几次,依旧显示的是第一次出现的tomcat。

  3.权重,weight值越大,轮询几率越高

  Nginx(八)-- 负载均衡

  在浏览器中访问:http://192.168.80.128/,出现端口号是8088的几率大。权重值跟请求几率成正比。

  4.响应时间,响应时间最短的请求,最优先分配

  Nginx(八)-- 负载均衡

  5.url_hash

  对相同的请求,分配的url是一样的。