目 录CONTENT

文章目录

nginx负载策略

BKUN
2022-04-11 / 0 评论 / 5 点赞 / 2,043 阅读 / 815 字
Nginx负载的5种策略

1、轮询(默认)

upstream server_group {
        server 192.168.1.1:8080; 
        server 192.168.1.2:8080; 
}

2、指定权重

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

upstream server_group { 
        server 192.168.1.1:8080 weight=1; 
        server 192.168.1.2:8080 weight=2; 
} 

3、ip_hash

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

upstream server_group { 
        ip_hash; 
        server 192.168.1.1:8080; 
        server 192.168.1.2:8080; 
 } 

4、fair

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

upstream server_group { 
        server 192.168.1.1:8080; 
        server 192.168.1.2:8080; 
        fair; 
} 

5、url_hash

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

upstream backserver { 
        server 192.168.1.1:8080; 
        server 192.168.1.2:8080; 
        hash $request_uri; 
        hash_method crc32; 
}
示例
http {
	# 定义一个服务器组
	upstream server_group {
    	# 默认的轮询算法
        wrr;
        server 192.168.1.1:8080; 
        server 192.168.1.2:8080; 
        server other.example.com:8080;
	}

	server {
        listen 80;

        location / {
           proxy_pass http://server_group/;
        }
        
	}  
}
5

评论区