NGINX负载均衡

一.为什么要使用负载均衡?

      先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况. 那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可

二.掌握负载均衡常用的几种算法[round-robin轮询,权重,ip_hash,fair(第三方),url_hash(第三方)]

1,轮询(默认)

a)upstream www.test.com{

   b) server 192.168.1.10;

   c) server 192.168.1.11;

}

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down调,能自动剔除.

2,weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.

upstream www.test.com{

server 127.0.0.1:8081 weight=10;

server 127.0.0.1:8082 weight=30;

}

 server{

listen 80;

server_name www.test.com;

location/{

        proxy_pass         http://www.test.com; 

        proxy_set_header   Host             $host; 

        proxy_set_header   X-Real-IP        $remote_addr; 

        proxy_set_header   X-Forwarded-For       $proxy_add_x_forwarded_for;

    }

}

3,ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定一个后端服务器,可以解决session的问题

upstream www.test.com{

ip_hash;

      server 127.0.0.1:8081 weight=10;

      server 127.0.0.1:8082 weight=30;

}

4,fair(第三方)

按后端服务器的响应时间来分配请求,响应时间段的优先分配.

5,url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后段服务器为缓存时比较有效

四.在自己的虚拟机中搭建负载均衡,把项目放进我们的负载均衡服务器中

五.了解nginx的常用配置

设备的状态有:

a)down表示当前的server暂时不参与负载

b)weight权重,默认为1. weight越大,负载的权重就越大

c)max_fails 允许请求失败的次数默认为1. 当超过最大次数时,返回proxy_next_upstream 模块定义的错误

d)fail_timeout max_fails次失败后,暂停的时间

e)backup备用服务器,其它所有的非backup机器down或者忙的时候,请求backup机器,所以这台机器压力会轻



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值