首页 > 代码库 > aliyun 消息中间件
aliyun 消息中间件
topic : 通信通道
producerId: 生产者id,用于查找消息的发送者
consumerId: 消费者Id
tag: 消息标志
message.setKey() : 消息的唯一标志,这个key 一般会加上时间戳,会根据这个key删除重复 的消息
流程: 1.生产者创建消息(tag和messageKey)决定向哪个topic发送消息。
2.MQ会根据messageKey 去判断最新上传上来的消息是否是重复的,去重
3.消费者决定向哪个topic获取消息,根据tag 决定是否是需要的消息进行接收
问题:云上的消息在被消费后会消失么?
消息是不会消失的,会永远地存在云上
问题:consumer 怎样获得的消息?
一个topic 中的所有消息会复制给不同的consumer ,consumer根据自己的需要进行获取。
问题: 既然所有的数据不会从云上消失,并且所有的消息都会复制给不同的consumer进行鉴别,那么一段时间前发送到云上的消息会不会在一段时间后再次被拿出来给consumer进行鉴别,这样会存在效率问题?
得到的回答是这样的:当一个消息被consumer 消费后,这个消息会产生偏移量(即进入了不会再拿出来复制给consumer鉴别的区域)
问题:如果当一个消息被不同consumer 同时进行鉴别,假设两个consumer A和B都需要消费该消息,A先于B 消费了该消息,那么B在此时还能消费该消息么?
问题:是否是一旦有consumer 将消息消费,还消息马上产生偏移量,在该消息产生偏移量后则不会再复制给其他consumer鉴别,但在产生偏移量前,是会复制给其他consumer 的?
aliyun 消息中间件