Nginx(六):Nginx负载均衡

概述:

    负载均衡(load balance)就是将负载分摊到多个操作单元上执行,从而提高服务的可用性和响应速度,带给用户更好的体验。

Nginx负载均衡的配置:

    通过 Nginx 中的 upstream 指令可以实现负载均衡,在该指令中能够配置负载服务器组 。目前负载均衡有 4 种典型的配置方式,分别为轮询方式、权重方式、 ip_hash 方式,以及利用第三方模块的方式。

    轮询方式:

        负载均衡默认设置方式,每个请求按照时间顺序逐一分配到不同的后端服务器进行处理,如果有服务器容机,会自动剔除。

        location / {      
proxy_pass   http://web_server ;
   }

        upstream web_server {
            server 192.168.78.128;
            server 192.168.78.200;
        )

      权重方式:

        利用 weight指定轮询的权比率,与访问率成正比,用于后端服务器性能不均的情况。        

        Nginx 将按照平滑加权轮询算法进行具体分配 其中以权值总和为一个循环,按照算法分散执行。 

           location / {      
proxy_pass   http://web_server ;
   }

        upstream web_server {
            server 192.168.78.128 weight=2 max_fails=2  fail_timeout=10;

            server 192.168.78.200 weight=3;

            server 192.168.78.200 backup;  

        }

    ip_hash方式:

        每个请求按访问 IP 的 hash 结果分配,这样可以使每个访客固定访问一个后端服务器,可以解决 Session 共享的问题。

        

         location / {      
proxy_pass   http://web_server ;
  }

        upstream web_server {

            ip_hash;

            server 192.168.78.128;

            server 192.168.78.200;

            server 192.168.78.200 down;  

        }

    方模块:

        方模块采用fair时,按照每台服务器的响应时间来分配请求,响应时间短的优先分配;若第方模块采用 url_hash 时,按照访问url的hash值来分配请求。


    upstream模块常用参数说明:

        server 192.168.0.100:80 负载均衡后端RealServer的IP或者域名,端口不写的话默认为80。高并发场景用域名,再通过DNS进行负载均衡
        weight=5 权重,默认为1,权重越大接收的请求越多
        max_fails=2 最大尝试的失败次数,默认为1,0表示禁止失败尝试。超过最大次数时,返回 proxy_ next_ upstream 指令定义的错误。
        fail_timeout=10 失败超时时间,默认是10秒,通常3s左右比较合适
        backup 热备配置,只有当其他所有的非 backup 机器出现故障或者忙碌的情况下,才会请求 backup 服务器,因此这台服务器的压力最小 。 
        down 标志服务器不可用,这个参数通常配合IP_HASH使用



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值