消息队列 MQ使用问题之进行超过3天的延迟消息投递,采用多次投递的策略是否有风险

简介: 消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。

问题一:RocketMQ消息保留时间小于轮转一圈的时间比如保留时间是1天转一圈是2天超过1天的都会被删掉吧?

RocketMQ消息保留时间小于轮转一圈的时间比如保留时间是1天转一圈是2天超过1天的都会被删掉吧?



参考答案:

这个roll的参数不代表转一圈的时间,时间轮的总slot数是另外设置的,比如默认7天的时间轮长度,转一圈就是7天,但是消息是2天重新滚动投递一次。可能是咱们语义上的误差哈,如果你之前的意思是“消息保存时间大于预设的滚动时长”,那是没有问题的



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/600179



问题二:修改RocketMQ配置的话,消息整体的保留时间是不是要调整的和延时消息时间一样大或更大?

修改RocketMQ timerMaxDelaySec配置的话,消息整体的保留时间是不是要调整的和延时消息时间一样大或更大?



参考答案:

应该保存时间是不用大于时间轮转一周的时间的,有段代码逻辑是判断什么时候需要提前滚动的。默认应该是2天,超出2天的定时消息会把定时时长重新设置。消息保存时间只需要大于这个设置的时间就可以。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/600176



问题三:是不是可以把RocketMQ精度调低,这样存的时间就长了?

是不是可以把RocketMQ精度调低,这样存的时间就长了?



参考答案:

精度调低会带来投递时间不准的问题。

另外,存的时间其实跟精度没有很强的相关性,也没有作严格的限制。定时最长时间取决于commitlog的最长存储时间以及能容忍的滚动次数。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/600175



问题四:rocketmq 超过3天的延迟消息,采用多次投递,比如9天,投递三次,这样有没有风险 ?

rocketmq 超过3天的延迟消息,采用多次投递,比如9天,投递三次,这样有没有风险 ?



参考答案:

分几次投递,可能会造成一定消息的写放大。如果容量、保存时间足够的话是没有风险的。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/600174



问题五:5.2.0版本Store多了一个Rocksmq并且新添加了依赖rocksdb主要功能能简单介绍下么?

5.2.0版本Store多了一个Rocksmq并且新添加了依赖rocksdb主要功能能简单介绍下么?



参考答案:

请参考此视频https://www.bilibili.com/video/BV19u4y1r7Qd/?vd_source=7326b69e98768568e0756a31433c1d38



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/600173

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
28天前
|
消息中间件 存储 负载均衡
现代消息队列与云存储问题之基于不可见时间的投递算法工作的的问题如何解决
现代消息队列与云存储问题之基于不可见时间的投递算法工作的的问题如何解决
|
28天前
|
消息中间件 存储 负载均衡
现代消息队列与云存储问题之消息队列支持定时消息和延迟队列的问题如何解决
现代消息队列与云存储问题之消息队列支持定时消息和延迟队列的问题如何解决
|
2月前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
15天前
|
消息中间件 存储 容灾
RabbitMQ的故障恢复与容灾策略
【8月更文第28天】RabbitMQ是一个开源的消息代理软件,它支持多种消息协议,如AMQP(Advanced Message Queuing Protocol)。在实际应用中,为了保证服务的连续性,需要实施一系列的故障恢复与容灾策略。
16 2
|
24天前
|
消息中间件 存储 Java
【揭秘】RocketMQ内部运作大揭秘:一探究竟,原来消息队列是这样工作的!
【8月更文挑战第19天】RocketMQ是一款高性能、高可用的消息中间件,在分布式系统中至关重要。它采用发布/订阅模式,支持高吞吐量的消息传递。核心组件包括管理元数据的NameServer、存储消息的Broker以及Producer和Consumer。RocketMQ支持发布/订阅与点对点两种模型,并具备复杂的消息持久化和路由机制。通过Java API示例,可轻松实现消息的发送与接收。RocketMQ凭借其出色的特性和可靠性,成为大型分布式系统首选的消息解决方案。
45 5
|
27天前
|
消息中间件 存储 RocketMQ
2分钟看懂RocketMQ延迟消息核心原理
本文从源码层面解析了RocketMQ延迟消息的实现原理,包括延迟消息的使用、Broker端处理机制以及定时任务对延迟消息的处理流程。
2分钟看懂RocketMQ延迟消息核心原理
|
1月前
|
消息中间件 存储 缓存
一个用过消息队列的人,竟不知为何要用 MQ?
一个用过消息队列的人,竟不知为何要用 MQ?
64 1
|
16天前
|
消息中间件 Kafka Apache
kafka vs rocketmq: 不要只顾着吞吐量而忘了延迟这个指标
这篇文章讨论了Apache RocketMQ和Kafka的对比,强调RocketMQ在低延迟、消息重试与追踪、海量Topic、多租户等方面进行了优化,特别是在小包非批量和大量分区场景下的吞吐量超越Kafka,适合电商和金融领域等高并发、高可靠和高可用场景。
45 0
|
2月前
|
消息中间件 Java 物联网
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决

相关产品

  • 云消息队列 MQ