Socket.io redisstore

106
8

Используя адаптер /store (?) socket.io redisstore, можно ли "видеть" всех клиентов и "выбирать" даже клиента, который напрямую не подключен к вашему серверу socket.io? Или это ограничивается функциональностью "комнат" только socket.io?


Чтобы дать практический пример, два пользователя в одной комнате чата подключены к двум различным узлам socket.io, делает ли адаптер/хранилище redisstore возможность шепотом от одного пользователя к другому без огромных изменений кода, если у вас уже есть работающий единый процесс/серверная реализация?


Причина, по которой я спрашиваю, заключается в том, что я пока еще не на этапе разработки моего проекта, который слишком сильно интересуется масштабированием (и у меня нет времени погрузиться в концепции, относящиеся к масштабированию node.js, который выглядит довольно в отличие от того, к чему я привык (сначала полный проект node.js)), но мне не хочется строить инфраструктуру, которая оказывается невозможной для масштабирования.

спросил(а) 2021-01-28T00:31:57+03:00 3 месяца, 1 неделя назад
1
Решение
62

Redis store (/lib/stores/redis.js) работает только с redis pub-sub для распространения сообщений между серверами. Поэтому, если вы хотите получить список подключенных пользователей - вы должны сделать это сами.

Но если вы хотите передавать сообщения между двумя пользователями - я думаю, что это не проблема с стандартной библиотекой socket.io + redis, потому что redis pub-sub очень полезен для передачи сообщений между серверами\процессы.

ответил(а) 2021-01-28T00:31:57+03:00 3 месяца, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема