RocketMQ 延时消息,我分别创建了延时消息、普通消息,通过 setStartDeliverTime() 指定延时,测试发现这两个MQ都可以达到延时效果,那在创建 Topic时为什么需要选择是普通消息还是延时消息呢?
创建Topic时选择普通消息或延时消息是由于RocketMQ内部实现的特性和资源管理。延时消息功能是特定于RocketMQ的定时/延时消息特性,它需要在服务端进行特殊处理和存储,以确保消息在指定时间后才能被消费。如果在一个普通消息的主题中尝试发送延时消息,消息可能无法正确地被定时投递,或者可能不会被视为延时消息处理。因此,创建延时消息主题是为了确保消息的正确分类和处理,以便系统能够支持延时消息的特定生命周期和功能,如精确定时、高并发处理等。在发送延时消息时,务必使用专为延时消息设计的主题。可参考文档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/