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

Как организовать доставку сообщений пользователю?

Я хочу реализовать доставку сообщений в реальном времени и отправить письмо на почту о новом сообщении. Для этого выбрал брокера доставки сообщений rabbitmq, websocket.
Схема примерно будет выглядеть:

Пользователь подключается к серверу на Nodejs через Websocket, проходит авторизацию если все в порядке добавляем пользователя в объект clients
Так же отдельно подключаемся к нашей очереди rabbitmq, где ожидаем новые уведомления, как только приходит новое сообщение находим пользователя по userId в clients и отправляем ему уведомление если сокет ещё не был закрыт

Все уведомления в очередь отправляется через php

Но есть вопросы:
1. Нужно ли создавать для каждого пользователя отдельную очередь или хватит две, одна для пользователя, а вторая для воркера отправки почты
2. При каждом новом подключении пользователя по websocket нужно ли так же подключиться к rabbitmq очереди ? Ну или хватит отдельного обработчика который будет искать в объекте clients пользователя и если найдет отправить ему сообщения ?

На бэке используется:
Php - PhpAmqpLib
Nodejs - Websocket, amqplib

Фронт:
Браузер - Websocket (wss)
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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