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

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

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

展开
收起
真的很搞笑 2023-05-23 20:08:04 79 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
    赞同 展开评论 打赏

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

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

    热门文章

    相关电子书

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

    相关镜像