在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何实现RocketMQ队列queue的偏移量Offset均衡分布测试

141次阅读
没有评论

共计 2155 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章给大家分享的是有关如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

一   机器部署

1、机器组成  

7 台机器,均为 16G 内存

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

 2、运行环境配置

3、刷盘方式

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

 

二   性能评测

1、评测目的

    测试 queue 接受消息负载均衡

2、评测指标

  每个 queue 的接受消息后,其偏移量 offset 大致相同

3、评测逻辑

  创建 topic,并配置该 topic 下的 queue 数量(3,5,8,16),发送消息后打印该条消息对应的 offset,比对消息 offset 增加量

4、评测过程

 (1)在 master 机器上创建名称为“topicQueueOffsetTest”

 (2)控制台创建的 topic 配置文件保存在 store 目录,  查看 /root/store/config/topic.json 文件,即可找到该 topic 的原始数据

 (3)client 端开启 5 个线程,发送不同数量的消息,发送消息后记录消息在各队列 queue 的 offset

 queue 配置的是默认值 8,  发送的消息条数  5*50=250 条消息

 queue 配置的是默认值 8,  发送的消息条数  5*400=2000 条消息

  客户端设置 queue 队列数为 12,再次发送的消息条数  5*400=2000 条消息,并记录消息的 offset,关键代码如下

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

  此处日志显示的  queueNum=12, 是指的 client 端的 producer 获取的 queue 个数,但此时后续的日志显示,server 端的 queueID 依然是 0 -7,总共 8 个,两种 queue 的个数并不相等。

  说明在 producer 发送消息时,对于此前已运行的 borker 服务器,修改配置文件的 defaultTopicQueueNums 属性的值不起作用,需要重启服务才能使得   已运行的 topic 的 queue 个数真正生效。

  有两种方式,可动态更改 topic 以及 topic 相关的属性,

  第一种、编辑  master 机器的 /root/store/config/topic.json 文件,找到 topic 名称为 topicQueueOffsetCheck 的数据,更新其 readQueueNums、writeQueueNums 两个属性,并重启 master 集群和 slave 集群

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

  第二种方式:在 rocketmq 控制台动态更新 topic 相关数据 (此方式更改后,会自动同步 topic 数据到其他 master、其他 slave,可以不用重启 master、slave 服务),此处我采用的是第二种方式更新。

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

  更新 server 端的 queue 为 12,再次发送 2000 条消息,发现新旧两种队列的消息 offset 基本已达到均衡。

 queueId 为 0 - 7 的队列,消息较多,各个队列的消息 offset 几乎相同,消息负载平衡;

 queueId 为 8 -11 的队列,消息较少,是为新增的 4 个队列,这四个队列之间的 offset 也基本达到了平衡。

  纵观这 12 个队列保存的消息, queueId= 0 的队列,上一次的 offset 偏移量为 508,本次 offset=594,差值 594-508=86,其余 quereId 的消息差异量也基本在 83 左右。说明   动态更新 queueNums,水平扩容之后, queue 队列在接受到消息后任能够均衡存储消息。

  从此例分析出:queue 收到的消息均衡分布,指的是每个 queue 每次收到消息的增加量能达到均衡;并不是指扩容后新增的 queue 队列的 offset 需要从 0 增加到原有队列的 offset,而原有 queue 需等待直至所有 queue 的消息偏移量 offset 均达到同一水平的情况。

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

  保持 queueNums=12 不变,增大线程个数和次数,发送 6 *3000=18000 条消息,再次记录消息 offset,最终结果如下,所有 queue 的“接受消息”的新增偏移量,均能达到平衡。

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

 

保持 queueNums=12 不变,增大线程个数和次数,发送 6 *4000=24000 条消息,记录保存消息的 brokerName、queueId。

分析日志,可得出结论,消息的确均衡分布到了  broker-master1、broker-master2 两台机器的各个队列。

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试

二   评测结果

 1、客户端发送的消息,服务器集群收到消息后,能均衡分布到集群的每台多台 master 机器,且每台机器的每个 queue 接受到的消息也是均衡分布。

 2、动态增加 queueNums 个数,水平扩容之后,新增的、原来的 queue 接受到的消息数也能达到均衡分布。

 3、服务端创建 topic 时会设置默认的 queueNums 数值,该数值的优先级高于创建 producer 所设置的 defaultQueueNums。

 4、对于已在运行的 topic,若需动态更新 topic 的相关属性,推荐使用 rocketmq 的控制台,通过控制台动态更新。

感谢各位的阅读!关于“如何实现 RocketMQ 队列 queue 的偏移量 Offset 均衡分布测试”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2155字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: www射com | adc影院在线观看成人 | 日韩欧美成人免费中文字幕 | 国产精品视频二区不卡 | 牲欲强的熟妇农村老妇女视频 | 久草免费在线色站 | 天堂久久天堂av色综合 | 精品无码中出一区二区 | 亚洲人和日本人jizz | 国产久 | 中文字幕亚洲欧美日韩在线不卡 | 国产69精品久久久久99不卡 | adc欧美成人影院 | 四虎影视国产精品婷婷 | 精品福利视频第一 | 永久免费观看美女裸体视频的网站 | 男女午夜视频 | 特级一级毛片视频免费观看 | 无码日韩人妻精品久久蜜桃 | 超碰国产精品久久国产精品99 | 国产亚洲精品拍拍拍拍拍 | 青青自拍 | 亚洲av无码一区二区三区dv | 荫蒂添的好舒服视频囗交 | av亚洲产国偷v产偷v自拍 | 精品国产自在现线久久 | 国产成人精品999在线 | 极品日韩 | 67pao国产成视频永久免费 | 亚洲午夜av久久久精品影院色戒 | 久久久久久人妻毛片a片 | 亚洲在线欧美 | 久草热8精品视频在线观看 久草热久草热线频97精品 | 99高清免费国产自产拍 | 中文字幕在线观看一区 | 久久中文字幕一区二区三区 | 国产视频日韩 | 精品一区二区三区 不卡高清 | 色狠狠色噜噜av天堂一区 | 97精品伊人久久久大香线蕉 | 国产视频高清在线观看 |