关于topic的问题

来源:9-11 利用RabbitMQ实现消息投递削峰填谷(二)

qq_慕婉清7021187

2022-06-20

看完视频有点迷糊,请教老师
MessageTask的send方法中,发送系统消息,这里我理解的是系统管理员给所有用户发送系统消息,也就是连接的系统管理员的topic队列。
然后receive方法中,应该是某某用户自己登录的时候去接收mq中的系统消息,他是靠自己的topic(receiveId)去连接Mq,然后获取消息,之前我问老师问题,我看老师的意思并不是一个用户一个消息队列(没看懂老师的解答,实在是对不起)。
我这里猜想有两种情况,
一、一个用户对应一个topic,用户登录,从自己的topic中获取消息,获取到消息以后删除掉自己topic中的那个消息。那么用户自己的这个topic中的这个消息是怎么来的?系统管理员发送消息应该是发送到自己的topic中,是不是每个用户的topic会从系统管理员的topic中接收消息。
二、并非一个用户对应一个topic,所有的用户都从系统管理员的那个topic队列中接收消息,但是这样,不同的用户接收消息的条数怎么判断呢,系统管理员的topic中应该保存着一段时间的消息,不同的用户登录都从这个topic中拿消息他怎么判断拿没拿过呢。
请老师解答,谢谢老师

写回答

1回答

qq_慕婉清7021187

提问者

2022-06-20

我明白了,是否是,发送消息的时候就指定发送到某一个用户的topic,发送系统消息就遍历所有用户,一个一个的发到用户的topic中

0
0

SpringBoot 在线协同办公小程序开发 全栈式项目实战

未来趋势型业务 + 前后端综合技术栈 + 惊艳的细节打磨

1798 学习 · 1915 问题

查看课程