Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.05.2014, 14:37
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Масштабирование web-сокетов (node.js)
Имеется ввиду дублирование на нескольких физических серверах. Как организовать распределение клиентов, динамическое подключение/отключение серверов и т.п.?


Есть идеи как всё придумать и запилить самому, но мб есть готовые решения или схемы?
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)

Последний раз редактировалось Tim, 08.05.2014 в 14:41.
Ответить с цитированием
  #2 (permalink)  
Старый 08.05.2014, 15:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Шардинг?

Последний раз редактировалось monolithed, 08.05.2014 в 15:18.
Ответить с цитированием
  #3 (permalink)  
Старый 08.05.2014, 15:25
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Я пользуюсь облаком, там всё из коробки Добавление новых машинок делается из админки, синхронизация машинок делается через интегированный в облако сервис уведомлений. Всё очень просто и удобно.
__________________
kobezzza
code monkey
Ответить с цитированием
  #4 (permalink)  
Старый 08.05.2014, 15:41
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от kobezzza
Я пользуюсь облаком
Облака - Белогривые Лошадки
<iframe width="640" height="480" src="//www.youtube.com/embed/bRkF1reGv7k" frameborder="0" allowfullscreen></iframe>
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 08.05.2014, 17:31
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Сообщение от monolithed
Шардинг?
Цитата:
Шардинг - разделение данных на уровне ресурсов. Концепция шардинга заключается в логическом разделении данных по различным ресурсам исходя из требований к нагрузке.
Скорее всего это немного не то. Попробую описать подробнее:

1) Есть некое приложение вход в которое осуществляется строго по логину и паролю.
2) Всё общение между клиентами и сервером осуществляется по WebSocket
3) Учётные записи юзеров хранятся на отдельном сервере.
4) Есть ещё один сервер который периодически шлёт мне уведомления, которые нужно в реальном времени отображать пользователям. Особенность этого сервера в том что он шлёт запросы только по одному конкретному IP (далее server № 1), его настраивать я не могу. Т.е. если я просто размножу приложение по нескольким серверам то server № 1 должен будет рассылать его всем своим клонам.

Та же проблема и с логином. Например зашёл человек 1 раз, и балансировщик перекинул его на СЕРВЕР-2, он залогинился. Потом открыл вторую вкладку, защёл на сайт, балансировщик кинул его на СЕРВЕР-3 и он залогинился ещё раз. Т.е. перед логином нужно проверять нет ли такого юзера на других серверах.

5) Пользователи друг с другом не взаимодействуют.

Сейчас по моим прикидкам сервер со всеми доделками и оптимизациями выдержит 5-10 кило одновременных подключений. Мне нужно 20 - 30 тысяч. Похоже что всё упирается в пропускную способность соединения с интернетом. Короче эту темя я ещё только начинаю исследовать. Я понимаю что сначала нужно найти причину а потом только думать что и как масштабировать. Сейчас предположим что дело в интернете, причём варианта расширить канал нет, есть только возможность добавить серваков со своими,отдельными интернет каналами. Сервер это просто комп в офисе, облаков и прочего пока нет и не нужно, ибо большой посещаемости не планируется. Нужно просто предусмотреть возможность масштабирования и если понадобится добавим пару компов в другие офисы.


Получается у меня 2 вопроса:
1 - чем проксировать или балансировать (хз как правильнее) веб-сокеты?
2 - как по умному решить проблему с логином и сервером который шлёт уведомления оп фиксированному IP?


Нагуглил такую тему: Hipache: a distributed HTTP and websocket proxy но пока не юзал


Сообщение от kobezzza
Я пользуюсь облаком, там всё из коробки Добавление новых машинок делается из админки
я смогу там масштабировать веб-сокеты?
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #6 (permalink)  
Старый 08.05.2014, 22:39
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
я смогу там масштабировать веб-сокеты?
Да, там предусмотрен специальный сервис, сам юзаю. Твоя задача решена в то же Azure, не придумывай велосипеды
__________________
kobezzza
code monkey
Ответить с цитированием
  #7 (permalink)  
Старый 12.05.2014, 10:54
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Сообщение от kobezzza
Да, там предусмотрен специальный сервис, сам юзаю. Твоя задача решена в то же Azure, не придумывай велосипеды
Не убедил. Платить 5 рублей в месяц за то что по быстрому можно собрать на коленке как то мало интересно.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Недопонимание философии Node.js Voronar AJAX и COMET 10 25.02.2013 14:00
Востребованность разработчиков на Node.js danik.js AJAX и COMET 7 08.12.2012 22:49
Разработчик Node.js в США (Сиэтл) Akvelon Работа 0 29.08.2012 10:47
Мастер-класс по Highload: Разработка крупного масштабируемого web 2.0 проекта с нуля [DiMA] Серверные языки и технологии 30 17.11.2010 21:57
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40