nginx的负载均衡

什么是负载均衡

就是当一台服务器并发量超过自身的承受能力时,服务器就会崩溃,为了避免服务器崩溃,我们通过负载均衡的方式来分担服务器的压力。组成一个服务器集群,当用户给服务器发送请求的时候,请求会先发送给负载均衡服务器,然后负载均衡服务器会选择其中一个压力较小服务器,然后将该访问请求引入给这个服务器。这样每个服务器压力就会比较均衡,压力没那么大。
就好比一个人要一下子吃完一大锅饭,会直接撑死,为了让他死不了,所以找几个人给他分担。
这里写图片描述

负载均衡策略

使用负载均衡,必须面临的一个重要问题就是Session的丢失的问题。

从用户端来解释,就是当一个用户第一次访问被负载均衡代理到后端服务器A并登录后,服务器A上保留了用户的登录信息;当用户再次发送请求时,根据负载均衡策略可能被代理到后端不同的服务器,例如服务器B,由于这台服务器B没有用户的登录信息,所以导致用户需要重新登录,用户体验极差。

1、轮询(推荐使用,注意:要使用session共享技术解决session丢失的问题)

这种是默认的策略,把每个请求按顺序逐一分配到不同的server(服务器),如果server(服务器)挂掉,能自动剔除。

upstream  fengzp.com {   
    server   192.168.99.100:42000; 
    server   192.168.99.100:42001;  
}

2、最少连接

把请求分配到连接数最少的server(服务器)

upstream  fengzp.com {   
    least_conn;
    server   192.168.99.100:42000; 
    server   192.168.99.100:42001;  
}

3、权重

使用weight来指定server访问比率,weight默认是1。以下配置会是server2访问的比例是server1的两倍。

upstream  fengzp.com {   
    server   192.168.99.100:42000 weight=1; 
    server   192.168.99.100:42001 weight=2;  
}

4、ip_hash(没有session丢失问题,因为同一客户端只会分配到同一的服务器)

每个请求会按照访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一server进行处理,可以解决session的问题。如果server挂掉,能自动剔除。

upstream  fengzp.com {   
    ip_hash;
    server   192.168.99.100:42000; 
    server   192.168.99.100:42001;  
}

ip_hash可以和weight结合使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值