在实际开发过程中利用RocketMQ延迟发消息的功能会遇到设定时间后不起效果,没有延迟立刻就会消费到消息这种问题,所以经过查源码发现:这里失败的原因就是与消息的过期事件(TTL)有直接的关系。在RocketMQ中过期时间必须是非负32位整数即0<=n<= 2^32-1 以毫米为单位,2^32-1 = 4294967295,所以它的延迟消息的极限值就是4294967295毫秒,大概也就是49天最长时间。
RocketMQ延迟消息的极限是多少
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因...
- 之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实...
- 问题小结 在明确了问题原因之后,需要对该功能的时候做一些明确的限定(延迟时间的极限),以避免再次出现类似的问题。深...
