Nginx负载均衡以及Nginx限流

Nginx负载均衡策略:
1.轮询
2.加权轮询:一个服务器的吞吐能力强,一个服务器的吞吐能力弱,根据服务器的资源进行配置
3.IP_Hash:会根据我们客户端的IP地址进行hash以后再分配到响应的机器上,这个好处就是当我们在做session共享的这种情况下,我们希望我们的客户端同一时间永远连接到同一台nginx服务器上,固定的IP会连固定的服务器,这样会出现服务挂了session不可用,可以把session放到redis中
4.最小链接leastconn(第三方提供的,它是比较智能的,它是根据我们服务器现在负载的状态,例如有三台服务器,每个服务器的负载都是1000,服务器1请求900,服务器2请求800,服务器3请求400,客户端请求服务器就会把请求智能的分配服务器3上)
Nginx两种限流方案(Nginx自带的模块)
基于连接ngx_http_limit_conn_module
基于请求ngx_http_limit_req_module
同一时间
Nginx限流---------令牌桶原理:
①令牌以固定的速率产生,并缓存到令牌桶中
②令牌桶最多存放N个令牌,放满时,多余的令牌被丢弃
③请求要消耗等比例的令牌才能被处理(有多少个请求就消耗多少个令牌)
④令牌不足N个时,不会删除令牌,且请求被丢弃
Nginx限流---------漏桶原理:
①每秒固定的速率流出请求
②漏桶的容量不变
③如果放入的请求超过桶的容量,则多余的请求被丢弃
令牌桶和漏桶有什么区别?
漏桶:流出的速率是恒定的,对于突发流量不做额外的处理
限流解决方案:
①基于连接(connection)limit_conn

http {
    /**
       limit_conn_zone用来配置限流key及存放key对应信息的共享内存区域大小
      $binary_remote_addr表示根据ID地址
    */
    limit_conn_zone      $binary_remote_addr zone=addr:10m;
   /**
      $server_name 限制域名最大数       10m   共享内存大小
   */
    limit_conn_zone      $server_name zone=preserver:10m;
    //被限流后记录日志的级别,默认error级别
    limit_conn_log_level   error;
    //被限流后返回的状态码
    limit_conn_status     503;

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

        location / {
            root   html;
            index  index.html index.htm;

            limit_conn addr 1;     // 1 代表同一时间并发连接的最大数是1个
            limit_conn preserver 2;// 2 针对这个域名同一时间允许的最大连接数是2个
        }
    }
}

$binary_remote_addr 基于客户端IP的限流(192.168.2.135)

②基于请求(request)limit_req(漏桶算法)

http {
    limit_req_zone       $binary_remote_addr zone=addr:10m rate=1r/s;
    limit_conn_log_leve   error;
    limit_conn_status     503;

    server {
        listen        80;
        server_name  www.qiantian.com;
        location / {
            root   html;
            index  index.html index.htm;
            limit_req zone=addr burst=5 nodelay;
            # burst默认值是0;延迟模式默认是delay;
        }
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值