Перенаправляйте пользователей, используя nginx в качестве балансировщика нагрузки для экономии пропускной способности
Я недавно купил 4 сервера для своих видео, чтобы выровнять нагрузку. В настоящее время я использую 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;
}
}
1 ответ
Вы можете играть с параметром веса для балансировки полосы пропускания:
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