消息队列 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
相关文章
|
2月前
|
消息中间件 存储 负载均衡
现代消息队列与云存储问题之基于不可见时间的投递算法工作的的问题如何解决
现代消息队列与云存储问题之基于不可见时间的投递算法工作的的问题如何解决
|
2月前
|
消息中间件 存储 负载均衡
现代消息队列与云存储问题之消息队列支持定时消息和延迟队列的问题如何解决
现代消息队列与云存储问题之消息队列支持定时消息和延迟队列的问题如何解决
|
3月前
|
消息中间件 C语言 RocketMQ
消息队列 MQ操作报错合集之出现"Connection reset by peer"的错误,该如何处理
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
12天前
|
消息中间件 运维 监控
云消息队列RabbitMQ实践解决方案评测报告
本报告旨在对《云消息队列RabbitMQ实践》解决方案进行综合评测。通过对该方案的原理理解、部署体验、设计验证以及实际应用价值等方面进行全面分析,为用户提供详尽的反馈与建议。
45 15
|
12天前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
39 9
|
7天前
|
消息中间件 监控 数据处理
解决方案 | 云消息队列RabbitMQ实践
解决方案 | 云消息队列RabbitMQ实践
17 1
|
8天前
|
消息中间件 弹性计算 运维
云消息队列RabbitMQ实践
本评测报告详细分析了阿里云云消息队列 RabbitMQ 版的实践原理、部署体验及核心优势。报告认为其在解决消息积压、脑裂难题及弹性伸缩方面表现优秀,但建议进一步细化架构优化策略和技术细节描述。部署文档详尽,对初学者友好,但仍需加强网络配置和版本兼容性说明。实际部署展示了其高可用性和成本优化能力,适用于高并发消息处理和分布式系统数据同步。为进一步提升方案,建议增加安全性配置指导、性能调优建议及监控告警系统设置。
|
21天前
|
消息中间件 JSON Java
|
21天前
|
消息中间件
手撸MQ消息队列——循环数组
队列是一种常用的数据结构,类似于栈,但采用先进先出(FIFO)的原则。生活中常见的排队场景就是队列的应用实例。在数据结构中,队列通常用数组实现,包括入队(队尾插入元素)和出队(队头移除元素)两种基本操作。本文介绍了如何用数组实现队列,包括定义数组长度、维护队头和队尾下标(front 和 tail),并通过取模运算解决下标越界问题。此外,还讨论了队列的空与满状态判断,以及并发和等待机制的实现。通过示例代码展示了队列的基本操作及优化方法,确保多线程环境下的正确性和高效性。
24 0
手撸MQ消息队列——循环数组
|
2月前
|
消息中间件 存储 容灾
RabbitMQ的故障恢复与容灾策略
【8月更文第28天】RabbitMQ是一个开源的消息代理软件,它支持多种消息协议,如AMQP(Advanced Message Queuing Protocol)。在实际应用中,为了保证服务的连续性,需要实施一系列的故障恢复与容灾策略。
35 2

相关产品

  • 云消息队列 MQ
  • 下一篇
    无影云桌面