首页 > 其他分享 >Rocketmq的tag显示积压

Rocketmq的tag显示积压

时间:2023-02-20 16:32:59浏览次数:32  
标签:积压 tag1 tag consumerA 消息 Rocketmq 客户端

背景

公司有一个topic,消费者160多个,全都使用了tag来区分消息,在压测的时候,发现一个问题,消费者触发了积压告警,压测的consumerA还没开始压测,平台显示 consumerA的积压值在不停的变化。而且实际上生产者并没有发送consumerA所使用的tag,理论上不应该有积压才对。

在平台上看consumerA的积压情况,到集群通过命令行查看也是一样都显示积压。

Rocketmq的tag显示积压_技术内幕


Rocketmq的tag显示积压_技术内幕_02


原因分析


Rocketmq的tag显示积压_客户端_03


假如消费者在消费offset=100的这条tag1消息后,后面连续出现1000W条非tag1的消息,客户端向服务端拉取消息,连续1000W条消息都不符合条件,一次过滤查找这么多消息,肯定非常耗时,客户端也不能等待这么久,那服务端必须采取措施,必须触发一个停止查找的条件并向客户端返回NO_MESSAGE。

客户端在消息查找时最大的超时时间为30s。如果服务端连续1000W条非tag1的消息,拉取请求不会一次性筛选,而是会返回,不至于让客户端超时。


所以我们所看到积压,并不是真正的积压,而是消费者为了能正常消费到属于自己tag时不会超时导致。实际上这个显示的积压值不会对业务产生影响。


如果大家有兴趣研究源码,可以查阅丁威老师出版的《RocketMQ技术内幕》书籍


标签:积压,tag1,tag,consumerA,消息,Rocketmq,客户端
From: https://blog.51cto.com/u_536410/6068711

相关文章

  • RocketMQ启动
     1.启动1.1启动NAMESERVERWindows键+R进入至‘MQ文件夹\bin’下执行:startmqnamesrv.cmd2.启动BROKER从新windows+R打开cmd-->进入‘MQ文件夹\bin’下......
  • RocketMQ - 生产者启动流程
    生产者启动流程DefaultMQProducer是RocketMQ中默认的生产者实现核心属性:namesrvAddr:继承自ClientConfig,表示RocketMQ集群的Namesrv地址,如果是多个则用分号分开。......
  • 侧边栏普通方法制作和inclusion_tag方法制作
    效果图:    第一种方法:前端:    后端:a.添加用户名搜索条件,在跳转页面指定用户  b.文章详情页--分类、标签、日期的展示   c.方法一执行完......
  • kafka和rocketMq区别
    https://mp.weixin.qq.com/s/_YuLzBpgSvHi9nH2wTEjvQ1、性能对比Kafka单机写入TPS约在百万条/秒,消息大小10个字节RocketMQ单机写入TPS单实例约7万条/秒,单机部署3个Broke......
  • __name__属性 和 标签 Tag
    __name__属性(1)__name__是属于python中的内置属性,代表对应程序名称。(2)__name在当前执行文件中使用时,他的值为_main__在被调用的模块中时,其值为被调用文件所在的......
  • Java: RocketMQ事务消息的优雅使用
    背景在项目中,技术方案需要使用事务消息来保证最终一致性达到实现业务的目的。但在一个服务中有多个业务需要使用事务消息发送不同的消息类型到不同的Topic时,RocketMQ的本......
  • TagHelpers 标记帮助程序
    什么是标记帮助程序?标记帮助程序使服务器端代码可以在Razor文件中参与创建和呈现HTML元素。例如,内置 ImageTagHelper 可以将版本号追加到图像名称。每当图像发生......
  • RocketMQ - 生产者原理
    https://rocketmq.apache.org/ApacheRocketMQ是一款开源的、分布式的消息投递与流数据平台。出生自阿里巴巴,在阿里巴巴内部经历了3个版本后,作为Apache顶级开源项目之一......
  • 【RocketMQ】DLedger选主源码分析
    RocketMQ4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用Raft算......
  • 【WPF】带模糊搜索的DataGrid
    带模糊搜索的DataGrid前端代码view<Windowx:Class="MVVM.Views.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:......