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

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

成都创新互联主要从事成都网站设计、做网站、成都外贸网站建设公司、网页设计、企业做网站、公司建网站等业务。立足成都服务万年,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

一 机器部署

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


分享文章:如何实现Rocketmq消息队列广播消费测试
本文链接:http://azwzsj.com/article/pcjihp.html