关键词:
转自:
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
rocketmq消息过滤(代码片段)
目录说明生产端消费端说明消息过滤的两种方式:Tag和SQL表达式。生产者:对Message设置Tag、用户属性消费者:subscribe时指定Tag、SQL表达式生产端@TestpublicvoidsendMessage()throwsExceptionDefaultMQProducerdefaultMQProducer=RocketMqU 查看详情
rocketmq消费者监听模型解析——图解源码级解析
rocketmq基本概念
#基本概念----##1消息模型(MessageModel)RocketMQ主要由Producer、Broker、Consumer三部分组成,其中Producer负责生产消息,Consumer负责消费消息,Broker负责存储消息。Broker在实际部署过程中对应一台服务器,每个Broker可以存储多个Topic的消... 查看详情
多线程之线程间协作的两种方式:waitnotifynotifyall和condition
Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作。比如说最经典的生产者-消费者模型:当队列满时,生产者需要等待队列有空间... 查看详情
rocketmq源码(22)—consumemessageorderlyservice顺序消费消息源码(代码片段)
基于RocketMQrelease-4.9.3,深入的介绍了ConsumeMessageOrderlyService顺序消费消息源码。此前我们学习了consumer消息的拉取流程源码:RocketMQ源码(18)—DefaultMQPushConsumer消费者发起拉取消息请求源码RocketMQ源码(19)—Broker处理DefaultMQPushC... 查看详情
rocketmq源码(21)—consumemessageconcurrentlyservice并发消费消息源码(代码片段)
基于RocketMQrelease-4.9.3,深入的介绍了ConsumeMessageConcurrentlyService并发消费消息源码。此前我们学习了consumer消息的拉取流程源码:RocketMQ源码(18)—DefaultMQPushConsumer消费者发起拉取消息请求源码RocketMQ源码(19)—Broker处理DefaultMQ... 查看详情
rocketmq(05)——消息的群集消费和广播消费(代码片段)
消息的群集消费和广播消费RocketMQ的消费者进行消息消费时有两种消费方式,群集消费和广播消费。默认是群集消费。群集消费Consumer都有一个Group,当两个Consumer实例属于同一个Group时,它们会共享消息队列中的消息消费位移,... 查看详情
css的两种盒子模型
css的两种盒子模型:W3C标准盒子模型、IE盒子模型 两者的相同之处:都包含margin、border、padding、content 两者的不同之处:W3C标准盒子模型的content部分不包含其他... 查看详情
rocketmq(05)——消息的群集消费和广播消费(代码片段)
消息的群集消费和广播消费RocketMQ的消费者进行消息消费时有两种消费方式,群集消费和广播消费。默认是群集消费。群集消费Consumer都有一个Group,当两个Consumer实例属于同一个Group时,它们会共享消息队列中的消息... 查看详情
kafka的两种模式
1:点对点模式2:发布/订阅模式两者的主要区别是:点对点模式:消息队列中的数据被第一个消费者消费完毕后,消息队列会删除该被消费者消费的数据;发布/订阅模式:1:主要有多个topic主题。2... 查看详情
关于生产者与消费者模式的两种实现方式
1、wait¬ify方法:publicclassWaitAndNotify{privatefinalintMAX_SIZE=100;privateLinkedList<Object>list=newLinkedList<Object>();publicvoidproduce(intnum){synchronized(list){while(list.size( 查看详情
rocketmq-消费重试机制
介绍: RocketMQ的消息重试及时分为两种,一种是Producer端重试,一种是Consume端重试。 1、Producer端重试: 1.1消息发没发成功,默认情况下是3次重试。 2、Consumer端重试: 2.1exception的情况,一般重复16次1... 查看详情
rocketmq之消息的生产与消费(代码片段)
基本示例中提供了以下两个功能RocketMQ可用于以三种方式发送消息:可靠的同步、可靠的异步和单向传输。前两种消息类型是可靠的,因为无论它们是否成功发送都有响应。RocketMQ可以用来消费消息。1添加依赖maven:<depen... 查看详情
rocketmq之消息的生产与消费(代码片段)
基本示例中提供了以下两个功能RocketMQ可用于以三种方式发送消息:可靠的同步、可靠的异步和单向传输。前两种消息类型是可靠的,因为无论它们是否成功发送都有响应。RocketMQ可以用来消费消息。1添加依赖maven:<depen... 查看详情
activemq的两种消息模式,主题队列
1、开发的模式流程如下:2、队列模式Queue如果生产者产生了100条消息,那么两个消费同时在的话,会分工合作来接收这100条消息。就是每个消费者接收到50条来处理。3、主题模式topic如果生产者产生了100条消息,消费者在还没有... 查看详情
rocketmq源码阅读----消息消费(普通消息)
RocketMQConsumer消费拉取的消息的方式有两种1. Push方式:rocketmq已经提供了很全面的实现,consumer通过长轮询拉取消息后回调MessageListener接口实现完成消费,应用系统只要重写MessageListener 的方法完成业务逻辑即... 查看详情
rocketmq消息过滤(代码片段)
...blicvoidsendMessage()throwsExceptionDefaultMQProducerdefaultMQProducer=RocketMqUtil.getDefaultMQProducer();Messagemsg=newMessage(RocketMqUtil.TOPIC,"filter","filter-message-1".getBytes(Charset.forName("UTF-8")));//设置消息的属性msg.putUserProperty("age"... 查看详情
rocketmq消息过滤(代码片段)
...blicvoidsendMessage()throwsExceptionDefaultMQProducerdefaultMQProducer=RocketMqUtil.getDefaultMQProducer();Messagemsg=newMessage(RocketMqUtil.TOPIC,"filter","filter-message-1".getBytes(Charset.forName("UTF-8")));//设置消息的属性msg.putUserProperty("age"... 查看详情