Задать вопрос
DaFive
@DaFive

Возможно ли создать глобальный объект в SocketCluster?

Здравствуйте. Подскажите, пожалуйста, следующий момент.
Есть сервер, работающий на NodeJS. Используется в работе SocketCluster. У SC есть несколько воркеров (по количеству процессоров сервера).
Клиент, заходящий на страницу (по сути для него выделяется свой воркер), авторизуется, обменивается данными с сервером. В процессе нужно создать глобальный объект (в моем случае экземпляр XMPP).

Затем, когда клиент открывает новый таб этой же страницы - ему ставится новый воркер (но он уже авторизован, а новый воркер ничего не знает о том экземпляре XMPP, который уже создан).

Каким образом организовать хранилище, чтобы клиент, будучи авторизованным и попавшим в "любой воркер" мог получить именно тот экземпляр XMPP, который ему нужен? Можно было бы положить его в exchange, но тогда пропадают все методы экземпляра, остаются только строки. Спасибо.
  • Вопрос задан
  • 65 просмотров
Подписаться Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
megafax
@megafax
CTO in MarTech
Вынесите XMPP в отдельный микросервис и общайтесь с ним всеми воркерами через tcp/http сокет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы