RocketMQ 5.0版本确实支持任意时间延迟的消息。
RocketMQ 5.0中引入了基于时间轮算法(TimingWheel)的机制,这允许它支持任意时间的定时消息。时间轮是一个存储定时任务的环形队列,其底层使用数组实现,每个数组元素可以存放一个定时任务。具体来说,有以下特点和功能:
综上所述,RocketMQ 5.0提供了强大的延迟消息功能,能够满足不同场景下对于定时和延迟消息的需求。如果您需要在特定的时间点发送消息或执行任务,RocketMQ 5.0的这一特性将非常有用。不过,为了确保最佳效果,建议深入了解时间轮算法的原理和配置方式,以便正确设置和使用。
RocketMQ 5.x 支持任意时间延迟的消息。
在RocketMQ 5.x版本中,引入了一个新的特性,即支持定时消息(也称为延迟消息),它允许用户设置具体的时间来安排消息的投递。这与之前版本中的延迟消息机制不同,新版本提供了更为灵活的定时功能。具体来说:
setDelayTimeSec
方法设置延迟多少秒后投递消息,或者使用 setDelayTimeMs
方法设置以毫秒为单位的延迟时间。综上所述,RocketMQ 5.x 版本确实支持任意时间延迟的消息,这对于需要精确控制消息投递时间的场景非常有用。
付费版支持,开源的也支持了。默认3天内。可以改参数
timerMaxDelaySec这个控制着最大接收多少时间参数可以试试看 timerRollWindowSlot保留时间要大于这个时长
--此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/