RocketMQ的两种消费模型

转自:

https://blog.csdn.net/ID__9527/article/details/84255680

RocketMQ是阿里巴巴公司的一个消息队列框架(很多思想借鉴Kafka),对于RocketMQ本身不做过多说明,下面主要说明RocketMQ的两种消费模型。

    消费模型有两种:广播消费消息模型,集群消费消息模型。

    广播消费消息模型,指消费这消费某主题的所有队列的消息,消费组在该消息模型下不起作用,类似JMS的publish/subscribe.

    集群消费消息模型,是指同一个消费组的消费者各自消费某一主题的消费队列的消息,比如有一个主题 topicA,该主题有4个队列(创建主题的时候可以指定该主题的队列的数量),有一个消费组testConsumerGroup,该消费组有四个消费者(四个机器或者四个进程),则四个消费者各自消费一个消息队列。

    情景回顾:在做RocketMQ的监控时,测试消息的消费情况,发现不同消费组,都会消费掉同一条消息,这和我对当时集群消费模型的理解(即:集群模式,消息队列中的消息只能被消费一次)不符。在查阅资料及代码验证后得出结论:

    1. 在Rocket集群消费模式下,(订阅)同一个主题(Topic)下的消息,对于不同的消费组是一种“广播形式”,即每个消费组的都会消费消息。

    2. 在Rocket集群消费模式下,(订阅)同一个主题(Topic)下的消息,对于相同的消费组的消费者而言是一种集群模式,即消费者平分消息并消费。
————————————————
版权声明:本文为CSDN博主「ID__9527」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ID__9527/java/article/details/84255680

posted @ 2020-07-21 15:29  adaandy  阅读(1134)  评论(0编辑  收藏  举报