2014-10-09 108 views
0

我最近购买了4台服务器来处理视频,以平衡负载。我目前使用nginx作为负载平衡器,但我的带宽不足。重定向用户使用nginx作为负载平衡器以节省带宽

有什么办法可以将用户重定向到其中一台服务器,以降低我的带宽使用率,并仍能够检测到服务器是否启动?

这就是我目前使用:

upstream videos { 
    server xx.xx.xxx.130:8080; 
    server xx.xx.xxx.131:8080; 
    server xx.xx.xxx.132:8080; 
    server xx.xx.xxx.133:8080; 
} 

proxy_next_upstream error; 

server { 
    listen 80; 
    server_name www.example.com; 

    location/{ 
     proxy_pass http://videos; 
     proxy_redirect off; 
     proxy_set_header Host $http_host; 
    } 
} 
+0

请铁道部准确地说明你要做什么......我不明白为什么改变配置会改善你的整体带宽。 – 2014-10-09 08:24:05

+0

我试图将用户重定向到视频上游的服务器之一,而不是将主服务器用作反向代理,以便主服务器不占用过多的带宽。 – NymRod 2014-10-11 05:33:19

回答

0

你可以用重量参数玩带宽平衡:

upstream videos { 
    server xx.xx.xxx.130:8080 weight=5; # high bandwith server 
    server xx.xx.xxx.131:8080 weight=5; # high bandwith server 
    server xx.xx.xxx.132:8080 weight=3; # middle bandwith server 
    server xx.xx.xxx.133:8080 weight=1; # low bandwith server 
} 

所以,每次14个请求会:5到XX.XX .xxx.130和131服务器,3至132和一个133

了解更多:http://nginx.org/en/docs/http/load_balancing.html#nginx_weighted_load_balancing

+0

对不起,我的意思是我目前用作负载平衡器的服务器是带宽问题的服务器。不是我购买的4台服务器。 – NymRod 2014-10-10 03:44:47