如何解决消息队列的延时以及过期失效问题?消息队列满了以后怎么处理?

简介: 如何解决消息队列的延时以及过期失效问题?消息队列满了以后怎么处理?

一、如何解决消息队列的延时以及过期失效问题?

MQ 中消息失效问题原因:

在 RabbitMQ 中可以设置过期时间,也就是 TTL。如果消息在 queue 中积压超过一定的时间就会被 RabbitMQ 给清理掉,这个数据就没了。RabbitMQ 的死信队列、延迟队列

解决消息失效的方法:

我们可以采取一个方案,就是批量重导,当消息大量积压的时候,我们可以先丢弃掉数据,然后等过了高峰期之后,我们就开始写个临时程序,将丢失的那批数据一点一点的查出来,然后重新放入 MQ 中进行处理,相当于手动发到 MQ 里去再补一次。

 

二、消息队列满了以后怎么处理?

如果消息积压在 mq 里,很长时间没有处理掉,导致 mq 快写满了,那只能写个临时程序,接入数据来消费,消费一个丢弃一个,都不要了,快速消费掉所有的消息。

然后走上面 “批量重导” 的方案,过了高峰期再补数据,重新放到 MQ 中进行处理。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
消息中间件 缓存 运维
【面试问题】如何解决消息队列的延时以及过期失效问题?
【1月更文挑战第27天】【面试问题】如何解决消息队列的延时以及过期失效问题?
|
9月前
|
消息中间件 Kafka
MQ 学习日志(八) 消息队列的延时以及过期失效问题处理
消息队列的延时以及过期失效问题处理
200 0
|
消息中间件 存储 监控
MQ的作用及如何解决消息队列的丢失、重复和积压问题
引入 MQ 消息中间件最直接的目的是:做系统解耦合流量控制,追其根源还是为了解决互联网系统的高可用和高性能问题。 系统解耦:用 MQ 消息队列,可以隔离系统上下游环境变化带来的不稳定因素,比如京豆服务的系统需求无论如何变化,交易服务不用做任何改变,即使当京豆服务出现故障,主交易流程也可以将京豆服务降级,实现交易服务和京豆服务的解耦,做到了系统的高可用。
135 0
|
消息中间件 存储 安全
探索FreeRTOS的功能:线程,消息队列,邮箱,信号量,互斥量,任务通知,延时,虚拟定时器
探索FreeRTOS的功能:线程,消息队列,邮箱,信号量,互斥量,任务通知,延时,虚拟定时器
1204 0
|
消息中间件 缓存 运维
Redis实现消息队列与延时消息队列
Redis实现消息队列与延时消息队列
761 0
|
消息中间件 Cloud Native 架构师
消息队列之延时消息应用解析及实践
消息队列常用于实现业务需要的异步、解耦以及削峰功能。但在某些特殊的业务场景中,还需要消息队列服务本身支持一些特殊的消息类型,比如常见的延时消息。本次直播为您深入剖析延时消息的特性、应用场景,对比各类消息队列对延时消息的支持情况,并向大家介绍阿里云商业版RocketMQ消息队列服务。
1320 0
消息队列之延时消息应用解析及实践
|
消息中间件 Cloud Native 网络协议
消息队列——延时消息应用解析及实践
在大部分场景下业务系统如果只需要实现异步解耦、削峰填谷等能力,常规的普通消息就可以满足此类需求。除此之外,在某些特殊的业务场景中,普通消息类型存在无法满足需求的情况。这就需要消息队列服务本身支持一些特殊的消息类型,或者开发者通过开发一些定制化的代码实现目的。
5726 0
消息队列——延时消息应用解析及实践
|
消息中间件 NoSQL Unix
|
1月前
|
消息中间件 存储 监控
RabbitMQ:分布式系统中的高效消息队列
RabbitMQ:分布式系统中的高效消息队列
|
1月前
|
消息中间件 Java
springboot整合消息队列——RabbitMQ
springboot整合消息队列——RabbitMQ
75 0