RocketMQ 里有没有关于broker端延时消息设置的配置参数说明?5.0.0版本,broker设置timerPrecisionMs参数没作用啊?
问题一:
RocketMQ 5.0.0版本中,关于broker端延时消息的配置参数说明如下:
messageDelayLevel
:设置消息的延迟级别。可选值为"LEVEL_0"、"LEVEL_1"、"LEVEL_2"和"LEVEL_3"。默认值为"LEVEL_0"。
messageDelayTime
:设置消息的延迟时间,单位为毫秒。默认值为0。
messageDelayTimeLevel
:设置消息的延迟时间级别。可选值为"LEVEL_0"、"LEVEL_1"、"LEVEL_2"和"LEVEL_3"。默认值为"LEVEL_0"。
timerPrecisionMs
:设置定时器精度,单位为毫秒。默认值为1000。该参数用于控制定时器的精度,但在实际使用中可能没有明显效果。
如果您发现timerPrecisionMs
参数没有起作用,可能是因为您的RocketMQ集群配置了不同的定时器精度。您可以尝试在broker配置文件中修改timerPrecisionMs
的值,或者检查集群中的其他broker是否也使用了不同的值。
问题二:
要修改RocketMQ broker端的延时消息设置,您可以在broker配置文件中修改messageDelayLevel
、messageDelayTime
和messageDelayTimeLevel
参数。例如,要将延迟级别设置为"LEVEL_1",将延迟时间设置为1000毫秒,可以这样配置:
messageDelayLevel=LEVEL_1
messageDelayTime=1000
messageDelayTimeLevel=LEVEL_1
然后重启broker以使更改生效。请注意,这些设置仅适用于当前broker实例,不会影响其他实例或整个集群。
4.x的有延迟消息, 可以配置 messageDelayLevel 这种。 5.x有定时消息, 配置更多了。 网上可以搜搜看看。这个是精度, 可以设置大点看看。如果想要延迟更小的话,支持固定精度:100, 200, 500, 1000,此回答来自钉群群2-Apache RocketMQ 中国开发者钉钉群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/