Привет, проект в виде crm, с чатами, задачами и т.д.
Я фронтенд разработчик, моя задача сделать уведомления.
Бекенд дал мне доступ к админке rabbitMq и доку, немного порылся и пришел к выводу, что для уведомлений необходимо апи от бекенда, и на прямую к rabbitMq с клиента обращаться невозможно, т.к amqplib не выполняется в браузерной среде, а только серверной.
Вопрос - если работать с rabbitMq c клиента, то как, возможно ли это? и нужно ли? Какая должна быть архитектура у уведомлений?
Я представляю чат, как отдельный микросервис на сокетах, и уведомления вероятно в том числе это сокет(хотя затраты на сервера возрастут...)
Вот результат моих исследований и поисков:
я на клиенте не могу подключаться на прямую к rabbitmq через amqplib.
Только если это будет серверный код ->
я буду сам себе дописывать endpoint для работы с rabbit mq, и после на клиенте уже обращаться к этому endpoint'y.
конечно т.к у нас next, то я могу использовать ssr и связь будет такая
client -> client server -> rabbitmq
но по сути она в идеале же должна быть такая
client -> client server -> api -> rabbit mq
иначе говоря для работы с rabbitMq мне так и так надо будет дописывать себе endpoint. И ты хочешь чтобы я на клиенте дописал себе бек? Такой способ возможно в теории будет рабочий(спасибо ssr), но могут возникать подводные камни в виде проблем с безопасностью, производительностью, масштабируемостью и проблемой того что у нас часть бека будет на ssr.
В идеале у нас для уведомлений либо пулингом делаться должны либо сокетами же, и я просто с клиента буду дергать твою апишку.