Балансировка нагрузки

12
M
На сайте с 04.10.2007
Offline
25
1850

Всем привет. Подскажите плз как лучше распределить нагрузку между серверами. Архитектура примерно такая: есть N специализированных серверов которые будут обрабатывают запросы клиентов. Клиенты это – браузеры. Kлиенты создают персистент соединение и начинают обмен данными с сервером. Первоночально я думал завести несколько сабдоменов sub1.example.com, … subN.example.com и клиент должен был бы с помощью XmlHttpRequest устанавливать соединение с одним из этих серваков, в зависимости от их загрузки. К сожелению, обнаружилось, что джаваскрипт может обратиться только к тому домену, с которого был загружен. Т.е если страница была загружена с www.example.com c помощью скрипта не удасться обратиться на sub1.example.com. Вообщем похоже, что для клиента должна быть одна точка входа, к примеру www.example.com, а запросы к этому серверу делегировать уже бэкэнду. Меня только смущает, что количество постоянных соединений может быть очень большим – десятки, а то и сотни тысяч. При таких нагрузках все что угодно загнётся. Можно конечно в днсе для этого адреса указать несколько ИП адресов, но такой вариант тоже не идеален. Вообщем поделитесь плз своими мыслями по этому поводу. Кстити может кто знает другие форумы где подобные вопросы можно обсудить?

A4
На сайте с 09.08.2007
Offline
55
#1

http://community.livejournal.com/ru_highload/

http://sysoev.ru/nginx - как вариант решения балансера.

Настройка nginx и сопутствующего софта на freebsd/debian. Контакт через PM.
M
На сайте с 04.10.2007
Offline
25
#2
Alexei42:
http://community.livejournal.com/ru_highload/

http://sysoev.ru/nginx - как вариант решения балансера.

я видел это комюнити, я только не понял как туде можно постить. а нгиних боюсь не потянет.

A4
На сайте с 09.08.2007
Offline
55
#3

Зарегистрировать себе журнал, вступить в коммунити и постить :)

D
На сайте с 21.06.2006
Offline
168
#4

Решение, которое вам нужно уже существует и называется балансировщик.

Если NGINX не потянет, можно купить аппаратный. Стоит всего несколько десятков тыщ баксов.

Appstorespy - платформа анализа мобильных сторов | Publa.io - готовая инфраструктура для приема платежей и оплаты рекламных кабинетов в бурже
Skom
На сайте с 02.12.2006
Offline
165
#5
megaswin:
а нгиних боюсь не потянет.

На nginx Рамблер живёт.

Я сейчас свои высоконагрузочные проекты с апача на nginx перевожу.

Cras amet qui numquam amavit quique amavit cras amet
D
На сайте с 21.06.2006
Offline
168
#6
Skom:
На nginx Рамблер живёт.
Я сейчас свои высоконагрузочные проекты с апача на nginx перевожу.

Насколько снизилась нагрузка на сервер?

Тоже думаю переносить.

Skom
На сайте с 02.12.2006
Offline
165
#7
Dash:
Насколько снизилась нагрузка на сервер?
Тоже думаю переносить.

Когда перевёл файлораздатчик, нагрузка на него снизилась в разы.

Вернее, переводил, потом перевёл на lighttpd, ибо mod_secdownload надо.

На основных серваках идёт процесс сдружения ngnx + (php + magickwand + ещё кое-что специфическое). Как сдружатся - напишу.

M
На сайте с 04.10.2007
Offline
25
#8
Skom:
На nginx Рамблер живёт.
Я сейчас свои высоконагрузочные проекты с апача на nginx перевожу.

Мне нужно держать много постоянных соединений одновременно. нгиникс как я понимаю под это не заточен. Вот кстати наткнулся http://oleg-bunin.livejournal.com/56883.html Может кому будет интересно

D
На сайте с 21.06.2006
Offline
168
#9

megaswin, если вы расскажите зачем нужно держать сотни тысяч постоянных соединених, возможно будет предложить другое решение.

M
На сайте с 04.10.2007
Offline
25
#10
Dash:
megaswin, если вы расскажите зачем нужно держать сотни тысяч постоянных соединених, возможно будет предложить другое решение.

Это необходимо для того чтобы клиенты могли обмениваться информацией. Вы играете к примеру в шахматы с кем-то. Клиенты написаны на джаваскрипте и соответственно используется шттп протокол. Для передачи данных можно либо опрашивать периодически сервер каждому клиенту(нет ли для меня новых сообщений) либо устанавливать с сервером постоянное соединение. В последнем случае при поступлении сообщений сервер известит об этом. Так работает гоогл талк к примеру.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий