nginx负载均衡_Nginx负载均衡upstream

1、负载均衡

    nginx负载均衡是根据它的均衡策略,将请求分配给后端的不同服务器处理,比如配置了A、B、C三台服务器,如果A服务器挂了,那请求自动会落到B和C这两台服务器进行处理。

    如果其中的服务器正在处理请求,那么新的一次请求则会选择比较空闲的服务器进行处理,所以它能使你的服务响应更快,可用性高,避免资源的过载和浪费。

2、均衡策略

    1、轮询(默认)

            每个请求按时间顺序分配到不同的后端服务器,如果后端服务器down掉了,能自动剔除,下次请求不会落入。

f9dae4a8832fca04ebb185231850be4a.png

   2、weight(权重)

    指定服务器的倾斜比例,轮询的几率,权重和访问率成正比,可用于后端服务器性能不均的情况,权重越大,落入的几率越高,需根据实际情况合理配置

bcd5a7399e013ee03e84289af5cf9751.png

   3、ip_hash(通过客户端请求的ip进行hash,再通过hash值来选择响应的后端服务器)

        每个请求按IP的hash结果分配,同一个用户多次访问时,可以固定一个服务器,这样避免建立多次的Http链接问题,也可以解决session的问题

460334adc7fa7bb8297b693bfe35966d.png

使用ip_hash的注意点:

    不能把后台服务器直接移除,只能标记

    down

  4、url_hash(通过客户端请求的url进行hash,再通过hash值来选择响应的后端服务器)

        每个请求按url的hash结果分配,使每个url定向到一个后端服务器

5c98be1f8b720785c851d58d666b0315.png

4、upstream 指令参数

     1、max_conns

        限制每台serve的连接数,用户保护服务器过载,可以起到限流的作用

48ec2d2caab18b4cd3752a9627fb17dd.png

    2、slow_start

        商业版,需付费

d6d9935247dafeb7a48ac410668be506.png

      3、down

        用于标记某台服务器节点不可使用

52743d928a576717f010b39a039dc9d9.png

      4、backup(备胎)

            表示被标记的服务器节点是备用机,只有在其他服务器都凉凉的情况下,才会加入到集群,才会被用户访问到

3e64ff76b4d862151be6ae54bf557e50.png

    5、max_fails

            表示失败几次,则会判定为server已宕机,自动剔出集群服务。

   6、fail_timeout

            表示失败的重试时间

0fed14e14929a60305216f07ed4d9e2d.png

    与max_fails组合使用max_fails=2  fail_timeout=20s;

    代表在20秒内请求某一台服务器失败次数达到2此以后,则表示这台服务器已经挂了,随后的20秒内,都不会有新的请求到达这台挂了的服务器节点上,而是会请到正常的服务器节点上,20秒过后再有新的请求到挂掉的服务器是,如果还是失败,则会重复这个步骤,一直到恢复为止

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值