1、Nginx的负载分发策略

Nginx 的 upstream目前支持的分配算法:

1)、轮询 ——1:1 轮流处理请求(默认)

每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。

upstream tomcatserver1 {

server 192.168.72.49:8080;

server 192.168.72.49:8081;

}

2)、权重 ——you can you up

通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。

upstream tomcatserver1 {

server 192.168.72.49:8080 weight=3;

server 192.168.72.49:8081;

}

3)、ip_哈希算法

每个请求按访问ip的hash(ip_hash)结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。

upstream tomcatserver1 {

server 192.168.72.49:8080 ;

server 192.168.72.49:8081;

ip_hash;

}

4)、fair(第三方)

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

upstream tomcatserver1 {

server 192.168.72.49:8080 ;

server 192.168.72.49:8081;

fair;

}

 

5)、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。

upstream tomcatserver1 {

server 192.168.72.49:8080 ;

server 192.168.72.49:8081;

hash  $request_uri;

hash_method crc32;

}

配置Nginx的负载均衡与分发策略

通过在upstream参数中添加的应用服务器IP后添加指定参数即可实现,如:

server {

listen       80;

server_name  8080.max.com;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

proxy_pass   http://tomcatserver1;

index  index.html index.htm;

}

}