@olezhenka

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

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

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

Войти через центр авторизации
Похожие вопросы