В моем новом проекте мы планируем создать встроенную систему уведомлений. В нашем приложении у нас много пользователей, и один пользователь может отправлять сообщения другому пользователю. На стороне получателя, если он / она вошел в систему на веб-сайте, он / она должен получить уведомление в правом нижнем углу, как показано на рисунке ниже (что аналогично уведомлению Gmail).
Для этого я планирую использовать Server-Sent Event (SSE), в котором внешнее приложение должно прослушивать конечную точку, которая испускает новые обновления, как только получает какие-либо обновления от Event-Bus. Используя этот ответ, веб-интерфейс сможет показывать уведомление. Вот моя архитектура для этого.
Но прежде чем перейти к реализации, у меня возникают следующие вопросы
В настоящее время, используя отправленное сервером событие, я не могу сгруппировать сообщения. Если есть сообщения похожих типов, я не хочу показывать несколько уведомлений. Так как мне сгруппировать сообщения в этой архитектуре?
Что произойдет, если соединение откроет слишком много клиентов, не приведет ли эта реализация к проблеме Too many connections errors
?