Rocketmq消息队列广播消费测试

一 机器部署

1、机器组成

7台机器,均为16G内存

每台服务器均有4个CPU,2核

 

2、运行环境配置

3、刷盘方式

每台机器master机器均采用异步刷盘方式

 

 

 

 

 

二 性能评测

1、评测目的

   测试consumer端的广播模式消费。

  

2、评测指标

    所属不同consumerGroup组的consumer端,在消费消息的过程中,对比消息msgId是否相同。

   

3、评测逻辑

  consumer端在广播模式消费场景中,consumerGroup分组已经无意义。所有consumer端均可消费相同的消息。因此只需要比较被消费的消息msgId是否相同即可。

  

4、评测过程

       (1)producer端向topic名称为“orderTopicTest”队列发送海量消息,定为10条,发送消息后并记录每条消息的msgId、queueId、topicId等基本信息。

      

    (2)配置5组不同的consumerGroup,名称分别为:DefaultCluster、 DefaultCluster、DefaultCluster1、 DefaultCluster2、 DefaultCluster3(第一组、第二组设置相同的consumerGroup名称), 并分别对每组订阅相同的topic、配置相同的nameSrvAddr地址,并且配置consumer端的消息模式为广播模式。

   

    设置默认DefaultCluster组的consumer端关键代码如下:

 

    设置默认DefaultCluster1组的consumer端关键代码如下:

 

 

    (3)优先启动5个consumer端,然后启动producer端,发送消息后,即可在所有consumer端查看消息的消费记录。

    第一组consumer消费记录如下:

 

    第二组consumer消费记录如下:

 

    第三组consumer消费记录如下:

 

    第四组consumer消费记录如下:

 

    第五组consumer消费记录如下:

 

   (4)消息消费分析对比

    第一组 与 第二组都属于DefaultCluster组,只是instanceName实例名称不同。

    第三组、第四组、第五组的均属于不同的Cluster组,但instanceName实例名称相同。

    分析五个组的消费记录,相同消息在所有consumer端的消费过程都是一样的,包括消息被消费的顺序、消息msgId、消息所在的queueId都是一样的。

   

二 评测结果

    rocketmq具备广播消费的能力,正在运行的所有consumer实例,不管该consumer属于哪一个consumerGroup组,都可以消费同一条消息,并且所有consumer端消费消息的顺序、消息所在queueId等等都是相同的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值