Nginx负载均衡策略

upstream机制提供了负载均衡的功能,可以讲请求负载分担到集群服务器的某个服务器上

打包时候到时一个8085  一个8090   一个8095

nohup /usr/local/develop/jdk-17.0.10/bin/java -Xmx256m -Xms256m -jar nginx-demo-8085.jar > server8085.log 2>&1 &

nohup /usr/local/develop/jdk-17.0.10/bin/java -Xmx256m -Xms256m -jar nginx-demo-8090.jar > server8090.log 2>&1 &

nohup /usr/local/develop/jdk-17.0.10/bin/java -Xmx256m -Xms256m -jar nginx-demo-8095.jar > server8095.log 2>&1 &

upstream支持6种负载分配方式,前三种为Nginx原生支持的分配方式,后三种是第三方支持的分配方式

1.Nginx轮询:每个请求按照时间顺序轮流分配到不同的后端服务器

2.Nginx权重:权重是轮询的加强版,在轮询基础上还可以指定轮询的比率,weight和访问到的概率成正比,主要应用与服务型性能不均的情况 比如一个8核32G   一个2核4G等情况

3.Nginx ip_hash:ip_hash每个请求会按照IP的hash值分配,这样IP固定的都会分配到同一台服务器处理,可以解决Session问题,服务器宕机,自动剔除 自动会固定到其他活着的服务

此时,如果说8085宕机了

4.Nginx fair: fair按后端服务器响应时间来分配请求,响应时间短的优先分配

注意  fair 需要nginx_upstream_fair_master  github上那个用不了了

链接: https://pan.baidu.com/s/1u06nLaAFzN0CKX9BsyIA8w 提取码: ufjh 
--来自百度网盘超级会员v5的分享

5.Nginx url_hash  类似IP_HASH,用url的hash来分配服务器

nginx_upstream_hash这个包过时了  暂时找不到   也许高版本已经 不需要第三方了

将8090杀掉后

6.Nginx  least_conn:把请求转发给连接数较少的后端服务器

按现在是随机

估计现在只要引入nginx_upstream_fair_master  来完成 fair就好了  其他可能新版本nginx已经集成

  server {
        listen       80;
        server_name  localhost;

        location / {
            proxy_pass http://web;
        }
    }
    
    #使用 least_conn
    upstream web {
        least_conn;#把请求转发连接较少的服务器
        server 127.0.0.1:8085;
        server 127.0.0.1:8090;
        server 127.0.0.1:8095;
    }
    
    #使用 URL_Hash
    #upstream web {
    #    hash $request_uri;
    #    server 127.0.0.1:8085;
    #    server 127.0.0.1:8090;
    #    server 127.0.0.1:8095;
    #}


    # 使用 fair 模块时的 upstream 配置
    #upstream web {
    #    server 127.0.0.1:8085;
    #    server 127.0.0.1:8090;
    #    server 127.0.0.1:8095;
    #    fair;  # 这个模块需要安装并编译进 Nginx
    #}

    # 其他负载均衡策略的示例(注释掉了)
    # IP_HASH:每个请求会按照IP的hash值分配,这样IP固定的都会分配到同一台服务器处理,可以解决Session问题,服务器宕机,自动剔除 自动会固定到其他活着的服务
    # upstream web {
    #     ip_hash;
    #     server 127.0.0.1:8085;
    #     server 127.0.0.1:8090;
    #     server 127.0.0.1:8095;
    # }

    # 权重:权重是轮询的加强版,在轮询基础上还可以指定轮询的比率,weight和访问到的概率成正比
    # upstream web {
    #     server 127.0.0.1:8085 weight=1;
    #     server 127.0.0.1:8090 weight=3;
    #     server 127.0.0.1:8095 weight=6;
    # }

    # 轮询:每个请求按照时间顺序轮流分配到不同的后端服务器
    # upstream web {
    #     server 127.0.0.1:8085;
    #     server 127.0.0.1:8090;
    #     server 127.0.0.1:8095;
    # }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hrui0706

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

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

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

打赏作者

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

抵扣说明:

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

余额充值