关于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中
00
相似问题