温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现Rocketmq消息队列广播消费测试

发布时间:2021-12-17 14:24:26 来源:亿速云 阅读:224 作者:小新 栏目:云计算

这篇文章将为大家详细讲解有关如何实现Rocketmq消息队列广播消费测试,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一 机器部署

1、机器组成

7台机器,均为16G内存

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

如何实现Rocketmq消息队列广播消费测试

2、运行环境配置

如何实现Rocketmq消息队列广播消费测试

3、刷盘方式

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

如何实现Rocketmq消息队列广播消费测试

如何实现Rocketmq消息队列广播消费测试

二 性能评测

1、评测目的

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

2、评测指标

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

3、评测逻辑

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

4、评测过程

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

如何实现Rocketmq消息队列广播消费测试

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

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

如何实现Rocketmq消息队列广播消费测试

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

如何实现Rocketmq消息队列广播消费测试

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

    第一组consumer消费记录如下:

如何实现Rocketmq消息队列广播消费测试

    第二组consumer消费记录如下:

如何实现Rocketmq消息队列广播消费测试

    第三组consumer消费记录如下:

如何实现Rocketmq消息队列广播消费测试

    第四组consumer消费记录如下:

如何实现Rocketmq消息队列广播消费测试

    第五组consumer消费记录如下:

如何实现Rocketmq消息队列广播消费测试

   (4)消息消费分析对比

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

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

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

二 评测结果

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

关于“如何实现Rocketmq消息队列广播消费测试”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI