событиях, а также чтобы это работало при нагрузках, условно 30к онлайна, в какую сторону гуглить?
Есть Postgres бд с таблицей юзеров, а также API, через который можно отправить запрос на дружбу, удаление из друзей и все такое.
Я могу хранить friendRequests в юзере (скорее нужна отдельная таблица), но единственный вариант узнать о новых запросах - нажать F5.
Вопрос в том, как бы уведомить юзера о этих запросах, удалениях, а в идеале добавить туда еще какие-то новости, лайки друзей и прочие ништяки?
Нужно ли юзать Postgres LISTEN NOTIFY вместе с ws серверами или же Kafka, RabbitMQ, NATS, куда смотреть?)
я бы советовал паб саб в каком-то виде (лично rabbitMQ только пользовал) LISTEN NOTIFY тоже можно имплементировать, легче просто вручную диспатчить после ивента
То есть, Postgres каким-то образом (допустим Listen Notify) отправляет обновления в RabbitMQ (который скейлится), далее эти обновления отправляются всем / определенным пользователям, которые подключены к RabbitMQ по сокетам. Верно?
грубо говоря да например у юзера есть уникальный айди. юзер подписывается на queue или exchange с этим айди, и получает все что касается его и где угодно в приложении можно кидать уведомление по этому айди и оно придет правильному юзеру это так, прост пример раутинга
ок, спасибо большое 😉 пойду изучать доку
👍 да. тема классная, потенциал большой там
Обсуждают сегодня