Показать сообщение отдельно
  #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'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием