Допустим, мы хотим создать частные чаты, где пользователь может общаться в небольших группах. Пользователь может присоединиться к нескольким / х группам. В каждом случае мне нужно создать уникальную группу на сервере и подписать пользователя на них. Какой подход является рекомендуемым / более эффективным способом:
Проблема: Когда пользователь находится в х каналах, мне нужно подписать его на эти х каналов после боковой загрузки.
Хорошо: трансляция в определенную группу может осуществляться через имя канала группы, и все пользователи, подписанные на этот канал, автоматически получат сообщение, поскольку они подписались на канал в части js.
Проблема: я не могу легко передать сообщение, мне нужно перебрать каждого подписанного пользователя и отправить сообщение на его канал уведомлений. Кроме того, я не могу использовать метод «публикации» во внешнем интерфейсе, чтобы легко публиковать сообщения в канал, поскольку пользователи разделены по разным каналам.
Хорошо: в конце концов, метод вещания сделает то же самое: перебирает список подписчиков. Для отправки сообщений я мог бы легко реализовать метод RPC, который делает то же самое, что и метод «публикации» — поиск подписанных пользователей группы и отправка им сообщения. При таком подходе пользователю не нужно подключаться к x каналам на стороне клиента, он просто имеет один канал, который обрабатывает все.
(Я знаю, что для второго подхода требуется толкатель (например, zmq)).
Каковы ваши мнения? Я думаю, что второй лучше, потому что мне не нужно подписывать пользователя на стороне клиента на x — каналы. Это не будет производительным, если пользователю необходимо сначала подключиться, например, к. 500 каналов.
С уважением.
Задача ещё не решена.
Других решений пока нет …