开发者社区 > 云原生 > 消息队列 > 正文

问下Apache RocketMQ4.4版本 延时消息插入broker之后,由于msg的topic?

问下Apache RocketMQ4.4版本 延时消息插入broker之后,由于msg的topic变成了SCHEDULE_TOPIC_XXXX,ScheduleMessageService到点后将消息put到真实的topic,但是没有纳入统计到BrokerStatsManager,所以延时消息这块通过BrokerStatsManager没法真实看到分钟/小时/天的统计,这块新版本有优化或者变化吗?

展开
收起
cuicuicuic 2023-05-23 20:08:04 61 0
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    对于Apache RocketMQ 4.4版本,延时消息插入broker后被分配到SCHEDULE_TOPIC_Xxxxx这个topic,然后由ScheduleMessageService按照延时时间再次发送到真实的目的topic。但是由于这个过程涉及到不同的topic,所以在BrokerStatsManager统计延时消息的时候会有一定的限制。因此,如果想要准确地统计延时消息的情况,建议使用专门的监控工具对SCHEDULE_TOPIC_Xxxxx和对应的真实目的topic进行监控和统计。

    在新版本的RocketMQ中,这种限制并没有被完全解决。但是可以通过启用trace log来获得更详细的延时消息日志信息,这些信息可以协助更好地统计和监控延时消息。同时,也可以参考RocketMQ社区开发的插件和工具来实现更高级别的监控和统计需求。

    2023-05-23 23:02:51
    赞同 展开评论 打赏
  • 4.9的版本有延迟级别offset和最大延迟消息offset的统计, 在broker running status中 : https://github.com/apache/rocketmq/blob/7d9c79bbeee9d1d8a906e3f3ba6231551e8f993b/store/src/main/java/org/apache/rocketmq/store/schedule/ScheduleMessageService.java#L102C17-L113

    5.x有任意延迟消息,metric: https://github.com/apache/rocketmq/blob/develop/store/src/main/java/org/apache/rocketmq/store/timer/TimerMetrics.java,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-05-23 20:24:09
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载

    相关镜像