qiguai54 2023-05-03 23:55 采纳率: 48%
浏览 36

想要实现消息推送,比如:在某网站发布文章,审核通过后,系统推送”文章已审核通过“或”文章不通过“等信息。

想要实现消息推送,比如:在某网站发布文章,审核通过后,系统推送”文章已审核通过“或”文章不通过“等信息。
以下思路可行吗?

利用rabbitmq的mqtt推送消息给前端并把消息等信息保存至数据库(消息内容可以为新增消息的数量,用以小红点或数量的展示),然后前端通过订阅主题接收到消息并更新视图,用户看到小红点或未读消息的数量,点击或鼠标移上后,调用接口查询数据库前几条消息。所以这里的推送的作用是告诉用户,有新消息未读。
然后推送完,这个队列是不是就可以删了?队列名可以是用userId,这样就算删了,以后新消息推送时,也不会有问题。

img

img

  • 写回答

2条回答 默认 最新

  • 崽崽的谷雨 2023-05-04 08:57
    关注

    以上思路是可行的。
    利用rabbitmq的mqtt推送消息给前端可以实现实时消息推送,同时把消息等信息保存至数据库可以方便后续的查询和管理。前端通过订阅主题接收到消息并更新视图,用户可以及时地收到新消息的提醒。
    队列是可以删除的,也可以保留。如果队列名是用userId,那么即使删了队列,以后新消息推送时也不会有问题,因为可以根据userId重新创建队列。但是,如果保留队列,可以更方便地管理消息,例如可以设置消息的过期时间,自动清理已过期的消息等。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月3日