❤️Nginx——upstream指令参数❤️

 目录

upstream指令参数 weight

upstream指令参数 max_conns

upstream指令参数 slow_start

upstream指令参数 down

upstream指令参数 backup

upstream指令参数 max_fails、fail_timeout

参考资料:

Keepalived提高吞吐量


我们在配置nginx时,会根据本身的项目服务的需求量,以及实际情况去配置和处理一些实际问题,这里介绍一下upstream指令,这个指令是用于配置负载均衡的,具体如下:

upstream指令参数 weight

#  默认的负载均衡的策略是轮询。

# weight参数是主要配置负载均衡策略使用的, 称为负载均衡的 “权重”策略

upstream tomcats {
    server 192.168.1.100:8080 weight=1     # 占比最小
    server 192.168.1.101:8080 weight=3     # 相对于三台服务器,该服务器接收的请求占比最大
    server 192.168.1.102:8080 weight=2     # 其次
}

upstream指令参数 max_conns

# worker进程设置1个,便于测试观察成功的连接数
worker_presses 1;

upstream tomcats {
    server 192.168.1.100:8080 max_conns=2
    server 192.168.1.101:8080 max_conns=2
    server 192.168.1.102:8080 max_conns=2
}

upstream指令参数 slow_start

商业版,需要付费

upstream tomcats {
        server 192.168.1.100:8080 weight=6 slow_start=60s;
#       server 192.168.1.101:8080;
        server 192.168.1.102:8080 weight=2;
        server 192.168.1.103:8080 weight=2;
}

注意:

  • 该参数不能使用在hash和random load balancing中;
  • 如果在upstream中只有一台server。则该参数失效。

upstream指令参数 down

down用于标记服务节点不可用:

upstream tomcats {
        server 192.168.1.100:8080 down;
#       server 192.168.1.101:8080;
        server 192.168.1.102:8080 weight=1;
        server 192.168.1.103:8080 weight=1;
}

upstream指令参数 backup

backup表示当前服务器节点是备用机,只有在其他的服务器都宕机以后,自己才会加入到集群中,被用户访问到:

upstream tomcats {
        server 192.168.1.100:8080 backup;
#       server 192.168.1.101:8080;
        server 192.168.1.102:8080 weight=1;
        server 192.168.1.103:8080 weight=1;
}

注意:

  • backup参数不能使用在hash和random load balancing 中。

upstream指令参数 max_fails、fail_timeout

max_fails:表示失败几次,则标记server以宕机,剔出上有服务。

fail_timeout:表示失败的重试时间。

upstream tomcats {
        server 192.168.1.100:8080 max_fails=2 fail_timeout=15s;
#       server 192.168.1.101:8080;
        server 192.168.1.102:8080 weight=1;
        server 192.168.1.103:8080 weight=1;
}
max_fails=2 fail_timeout=15s

则代表在15秒内请求某一server失败达到2次后,则认为该server已经挂了或者宕机了,随后再过15秒,这15秒内不会有新的请求到达刚刚挂掉的节点上,而是请求到正常运作的server,15秒后会再有新请求尝试连接挂掉的server,如果还是失败,重复上一过程,直到恢复。

参考资料:

还有一些企业版的配置参数,可以参考官网文档:nginx documentation

Keepalived提高吞吐量

keepalived:设置长连接处理的数量

proxy_http_version:设置长连接http版本为1.1

proxy_set_header:清除connection header信息

upstream tomcats {
#       server 192.168.1.100:8080 max_fails=2 fail_timeout=1s;
        server 192.168.1.101:8080;
#       server 192.168.1.102:8080 weight=1;
#       server 192.168.1.103:8080 weight=1;
        keepalive 32;
}

server {
        listen       80;
        server_name  www.tomcats.com;

        location / {
            proxy_pass  http://tomcats;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
        }
    }

作者:筱白爱学习

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

筱白爱学习

你的鼓励将是我写作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值