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

Как сделать объект сокетов глобальным для всех воркеров в ноде?

У меня игра на сокетах. Из-за перенагрузки хочу сделать оптимизацию и сейчас курю про кластеры. В игре требуется постоянно показывать текущий онлайн, пользователи могут делать эмиты другим совершенно рандомным юзерам. Но как я читал воркер это новый изолированный скрипт и сокеты разделяются по разным портам. Как мне считать общий онлайн и просто доставать нужный io.sockets.connected?
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по Node.js
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Как вариант - в общем для всех редисе хранить для каждого воркера своё значение онлайна, а при выводе онлайна - суммировать по всем воркерам и выводить. Обновлять значение не обязательно в реалтайме после каждого коннекта/дисконнекта (т.к. смысла знать точный онлайн обычно нет), можно и с периодичностью в несколько минут
Ответ написан
Ваш ответ на вопрос

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

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