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

RocketMQ 里有没有关于broker端延时消息设置的配置参数说明?

RocketMQ 里有没有关于broker端延时消息设置的配置参数说明?5.0.0版本,broker设置timerPrecisionMs参数没作用啊?

展开
收起
小小鹿鹿鹿 2024-01-17 23:12:19 49 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看

    问题一:
    RocketMQ 5.0.0版本中,关于broker端延时消息的配置参数说明如下:

    1. messageDelayLevel:设置消息的延迟级别。可选值为"LEVEL_0"、"LEVEL_1"、"LEVEL_2"和"LEVEL_3"。默认值为"LEVEL_0"。

    2. messageDelayTime:设置消息的延迟时间,单位为毫秒。默认值为0。

    3. messageDelayTimeLevel:设置消息的延迟时间级别。可选值为"LEVEL_0"、"LEVEL_1"、"LEVEL_2"和"LEVEL_3"。默认值为"LEVEL_0"。

    4. timerPrecisionMs:设置定时器精度,单位为毫秒。默认值为1000。该参数用于控制定时器的精度,但在实际使用中可能没有明显效果。

    如果您发现timerPrecisionMs参数没有起作用,可能是因为您的RocketMQ集群配置了不同的定时器精度。您可以尝试在broker配置文件中修改timerPrecisionMs的值,或者检查集群中的其他broker是否也使用了不同的值。

    问题二:
    要修改RocketMQ broker端的延时消息设置,您可以在broker配置文件中修改messageDelayLevelmessageDelayTimemessageDelayTimeLevel参数。例如,要将延迟级别设置为"LEVEL_1",将延迟时间设置为1000毫秒,可以这样配置:

    messageDelayLevel=LEVEL_1
    messageDelayTime=1000
    messageDelayTimeLevel=LEVEL_1
    

    然后重启broker以使更改生效。请注意,这些设置仅适用于当前broker实例,不会影响其他实例或整个集群。

    2024-01-18 12:54:11
    赞同 展开评论 打赏
  • 4.x的有延迟消息, 可以配置 messageDelayLevel 这种。 5.x有定时消息, 配置更多了。 网上可以搜搜看看。d735e9d2e1ddc52d566e0163a49f5584.png这个是精度, 可以设置大点看看。如果想要延迟更小的话,支持固定精度:100, 200, 500, 1000,此回答来自钉群群2-Apache RocketMQ 中国开发者钉钉群。

    2024-01-18 10:27:14
    赞同 展开评论 打赏

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

相关产品

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

    热门文章

    相关电子书

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