У меня есть 3 сервера, каждый со скоростью 100 Мбит / с.
Первый сервер имеет балансировщик нагрузки nginx, настроенный следующим образом :
http { upstream myproject { сервер 127.0.0.1:8000 вес = 3; сервер 127.0.0.1:8001; сервер 127.0.0.1:8002; сервер 127.0.0.1:8003; } server { слушать 80; имя_сервера www.domain.com; место расположения / { proxy_pass http: // myproject; } } }
На серверах 2 и 3 у меня есть видео.
Я хотел бы знать, если 1 пользователь = 1 Мбит / с тогда, если 10 пользователей посетят server1, он отправит их на сервер 2 или 3? Какая у меня будет пропускная способность на серверах 1, 2 и 3?
Теоретически, подключение пользователя 10 x 1 Мбит / с
к вашей службе через ваш балансировщик нагрузки потребляло бы 10 Мбит / с
с точки зрения этого балансировщика нагрузки, тогда, вероятно, что-то например 5 Мбит / с
до server2, а другой 5Mbps до
до server3.
Имея полнодуплексное соединение 100 Мбит / с на балансировщике нагрузки, вы можете обслуживать до 100x 1 Мбит / с
пользователь. С полудуплексным соединением (он все еще существует, IRL?), Вы будете ограничены до 50.
Обновление:
Чтобы уточнить, если вы действительно хотите добавить пропускную способность ваших «внутренних» серверов, тогда «внешний» сервер должен перенаправлять клиентов на любой из этих внутренних интерфейсов.
С точки зрения сети, ваш клиент устанавливает TCP-соединение с вами, «балансировщиком нагрузки». Этот сеанс будет продолжаться, пока вы не создадите еще один где-нибудь еще. Но ваш балансировщик нагрузки будет балансировать трафик, а не перенаправлять его.
Увеличение пропускной способности будет означать:
Update², поскольку новые потоки начинают работать по этому вопросу, ...
Один из способов сделать это - получить свой первый сервер с использованием директивы rewrite
вместо proxy_pass
. Сложность состоит в том, чтобы переписать динамический адрес, в зависимости от того, какой бэкэнд действительно работает, .... Решение приведено здесь: http://www.sourceprojects.org/nginx-stateless-loadbalancer
Другое способ сделать это был бы своего рода циклический DNS. В конце концов, вам может не понадобиться определять запись для server1, ваша зона будет выглядеть примерно так:
$ ORIGIN example.com.
myservicename A server2.ip.address
myservicename A server3.ip.address