随笔- 310  文章- 1  评论- 0  阅读- 85668 

下载

http://nginx.org/en/download.html

 

nginx的负载均衡策略

轮询(默认)

每个请求按照请求时间顺序分配到不同的后端服务器,如果后端服务器挂了,则自动剔除。
此策略还可以设置:权重,指定轮询的频率,weight和访问率成正比,用于后端服务器性能不均匀的情况。

ip_hash

客户端ip地址被用作hash key来判断客户端请求应该发送到哪个服务器,这种方法保证了来自相同客户端的请求总是发送到相同服务器。

least_conn

最少连接策略,nginx会尽量不让负载繁忙的应用服务器上负载过多的请求,相反的,会把新的请求发送到比较不繁忙的服务器。

配置示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
http {
    upstream serverlist{
        ip_hash;
        ##least_conn;
        ## 屏蔽上述两个参数即采用默认的策略:轮询
        server www.test1.com weight=3;// 或者ip+端口 , 不需要加入http/https前缀
        server www.test2.com weight=2;
        server www.test3.com; // 默认 weight=1
    }
    server {
        listen 80;
        location / {
            proxy_pass http://serverlist;
        }
    }
}

故障下线、备份服务、访问失败等配置

1.down
假如有一台主机是出了故障,或者下线了,要暂时移出,那可以把它标为down,表示请求是会略过这台主机的。

1
2
3
4
upstream serverlist{
        server www.test1.com; // 或者ip+端口 , 不需要加入http/https前缀
        server www.test2.com down;
}

2.backup
backup是指备份的机器,相对于备份的机器来说,其他的机器就相当于主要服务器,只要当主要服务器不可用的时候,才会用到备用服务器。  

1
2
3
4
upstream serverlist{
        server www.test1.com; // 或者ip+端口 , 不需要加入http/https前缀
        server www.test2.com backup;
}

  

3.max_fails和fail_timeout
默认情况下,max_fails的值为1,表示的是请求失败的次数,请求1次失败就换到下台主机。另外还有一个参数是fail_timeout,表示的是请求失败的超时时间,在设定的时间内没有成功,那作为失败处理。

1
2
3
4
upstream serverlist{
        server www.test1.com max_fails=2; // 或者ip+端口 , 不需要加入http/https前缀
        server www.test2.com backup;
}

  

 

 posted on   boye169  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示