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

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

У меня игра на сокетах. Из-за перенагрузки хочу сделать оптимизацию и сейчас курю про кластеры. В игре требуется постоянно показывать текущий онлайн, пользователи могут делать эмиты другим совершенно рандомным юзерам. Но как я читал воркер это новый изолированный скрипт и сокеты разделяются по разным портам. Как мне считать общий онлайн и просто доставать нужный io.sockets.connected?
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Node.js для backend-разработки
    6 месяцев
    Далее
  • Академия Эдюсон
    Node.js-разработчик
    8 месяцев
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Как вариант - в общем для всех редисе хранить для каждого воркера своё значение онлайна, а при выводе онлайна - суммировать по всем воркерам и выводить. Обновлять значение не обязательно в реалтайме после каждого коннекта/дисконнекта (т.к. смысла знать точный онлайн обычно нет), можно и с периодичностью в несколько минут
Ответ написан
Ваш ответ на вопрос

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

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