RocketMQ的两种消费模型
RocketMQ是阿里巴巴公司的一个消息队列框架(很多思想借鉴Kafka),对于RocketMQ本身不做过多说明,下面主要说明RocketMQ的两种消费模型。 消费模型有两种:广播消费消息模型,集群消费消息模型。 广播消费消息模型,指消费这消费某主题的所有队列的消息,消费组在该消息模型下不起作用,类似JMS的publish/subscribe. 集群消费消息模型,是指...
RocketMQ是阿里巴巴公司的一个消息队列框架(很多思想借鉴Kafka),对于RocketMQ本身不做过多说明,下面主要说明RocketMQ的两种消费模型。
消费模型有两种:广播消费消息模型,集群消费消息模型。
广播消费消息模型,指消费这消费某主题的所有队列的消息,消费组在该消息模型下不起作用,类似JMS的publish/subscribe.
集群消费消息模型,是指同一个消费组的消费者各自消费某一主题的消费队列的消息,比如有一个主题 topicA,该主题有4个队列(创建主题的时候可以指定该主题的队列的数量),有一个消费组testConsumerGroup,该消费组有四个消费者(四个机器或者四个进程),则四个消费者各自消费一个消息队列。
情景回顾:在做RocketMQ的监控时,测试消息的消费情况,发现不同消费组,都会消费掉同一条消息,这和我对当时集群消费模型的理解(即:集群模式,消息队列中的消息只能被消费一次)不符。在查阅资料及代码验证后得出结论:
1. 在Rocket集群消费模式下,(订阅)同一个主题(Topic)下的消息,对于不同的消费组是一种“广播形式”,即每个消费组的都会消费消息。
2. 在Rocket集群消费模式下,(订阅)同一个主题(Topic)下的消息,对于相同的消费组的消费者而言是一种集群模式,即消费者平分消息并消费。
备注:创建时间:2017-01-20 16:33:46 个人博客转移文档
更多推荐
所有评论(0)