队列模式的特点

1.生产者将消息发布到队列中,每个消息只能被一个消费者消费,属于一对一的关系。

2.生产者和消费者不存在时间上的相关性,先启动生产者还是消费者都是一样的。

3.生产者生产时,队列模式默认是会持久化消息的,所以先启动生产者,再启动消费者,消费者还是能消费到消息,也就是说队列中的消息不会丢弃。

消费者消费消息的3种情况

1.先生产,然后启动1号消费者,1号消费者能消费到消息吗?

答:可以,因为队列模式默认会持久化数据。

2.先生产,然后启动1号消费者,再启动2号消费者,1号消费者能消费吗?2号消费者能消费吗?

答:1号可以消费,2号不能消费。因为队列模式下的消息只允许一个消费者消费,不允许重复消费。又因为消息已经被1号消费者消费完了,没有待消费的消息,所以2号不能消息到消息。

3.先启动2个消费者,然后再生产消息,消费情况如何?

答:经过多次测试,可以发现,消费者是轮询消费消息的,这样可以让消息平均分配,不至于一个消费者特别忙,一个消费者特别闲,也不会出现抢占资源的情况。

原文链接:https://miansen.wang/2020/05/09/activemq-quene-consumer-type/