Получение данных клиента с помощью socket.io-redis - PullRequest
0 голосов
/ 28 мая 2020

У меня есть кластер узлов, который использует Socket.io для системы чата в реальном времени, и socket.io-redis для сохранения сокетов на всех внутренних серверах.

Мне нужно разрешить пользователю клиентский интерфейс, чтобы выбрать другого пользователя и отправить ему сообщение. Моя проблема заключается в том, что на сервере узла нет способа получить сокет выбранного пользователя, учитывая только его имя пользователя, et c.

В экземпляре одного узла это можно исправить с помощью объекта clients , используя в качестве ключей что-то вроде имен пользователей, но как это будет работать на нескольких серверах? Предоставляет ли socket.io-redis некоторую поддержку этой нестандартной конфигурации, которую я только что пропустил?

В этом сообщении (node.js хранить объекты в redis ) упоминается возможность сохранения строковых объектов сокета в качестве ключа redis, но ответы неубедительны.

Есть ли какое-нибудь масштабируемое оптимальное решение для этого?

...