Сообщение от 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
|
Я пользуюсь облаком, там всё из коробки Добавление новых машинок делается из админки
|
я смогу там масштабировать веб-сокеты?