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

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

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

展开
收起
小小鹿鹿鹿 2024-01-17 23:12:19 82 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
    赞同 展开评论 打赏

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

相关产品

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

    热门文章

    相关电子书

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