first commit
This commit is contained in:
commit
ba848e218d
1001 changed files with 152333 additions and 0 deletions
65
Nginx/负载均衡策略.md
Normal file
65
Nginx/负载均衡策略.md
Normal file
|
@ -0,0 +1,65 @@
|
|||
**RoundRobin**
|
||||
轮询:默认。
|
||||
每个请求会按时间顺序平均分配到不同的后端服务器。
|
||||
|
||||
**Weight**
|
||||
权重:在轮询策略的基础上指定轮询的几率。也可以认为是在轮询的基础上新增了一个weight的参数,此参数指定轮询的几率,用于后端服务器性能不均的情况。
|
||||
```
|
||||
upstream [服务器组名称]{
|
||||
server [IP地址]:[端口号] weight=2;
|
||||
server [IP地址]:[端口号];
|
||||
....
|
||||
}
|
||||
```
|
||||
|
||||
**ip_hash**
|
||||
依据ip分配方式,指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端请求一致发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。
|
||||
```
|
||||
upstream [服务器组名称]{
|
||||
ip_hash;
|
||||
server [IP地址]:[端口号] weight=2;
|
||||
server [IP地址]:[端口号];
|
||||
....
|
||||
}
|
||||
```
|
||||
注意:
|
||||
1.nginx1.3.1之前的版本不能在ip_hash中使用权重(weight)
|
||||
2.ip_hash不能与backup同时使用
|
||||
3.此策略适合有状态服务的程序,比如session
|
||||
4.当有服务器需要剔除,必须手动down掉。
|
||||
|
||||
**least_conn**
|
||||
最少连接方式,把请求发给链接数最少的后端服务器。轮询是把请求平均分配给各个后端,使它们的负载大致相同。但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。
|
||||
```
|
||||
upstream [服务器组名称]{
|
||||
least_conn;
|
||||
server [IP地址]:[端口号] weight=2;
|
||||
server [IP地址]:[端口号];
|
||||
....
|
||||
}
|
||||
```
|
||||
|
||||
**fair**
|
||||
响应时间方式,按照服务器端的响应时间来分配请求,响应时间短的优先分配。
|
||||
```
|
||||
upstream [服务器组名称]{
|
||||
server [IP地址]:[端口号] weight=2;
|
||||
server [IP地址]:[端口号];
|
||||
....
|
||||
fair;
|
||||
}
|
||||
```
|
||||
注意:
|
||||
需要安装第三方插件。
|
||||
|
||||
**url_hash**
|
||||
url分配方式,按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再次收到请求,就可以在缓存中读取。
|
||||
```
|
||||
upstream [服务器组名称]{
|
||||
hash $request_uri;
|
||||
server [IP地址]:[端口号] weight=2;
|
||||
server [IP地址]:[端口号];
|
||||
....
|
||||
}
|
||||
```
|
||||
注意:1.需要安装第三方插件;2.uri,是i,不是小写的L。
|
Loading…
Add table
Add a link
Reference in a new issue