中间件几百万消息持续积压及小时,怎么处理?

文章讨论了消息积压的原因,主要是消费者故障。提出的解决方案包括修复消费者并采取临时扩容的方法,如增加消费者数量来加速消息消费,以此减少处理积压消息所需的时间。这种方法在应对业务不能容忍长时间处理积压时尤为有效。
摘要由CSDN通过智能技术生成

一、发生原因

消息积压出现的原因可能是线上故障(消费者故障)导致不能及时消费生产者的消息。

二、解决方法:

1、首先需要修复消费者,保证消费正常运作。(但是由于积压的消息太多,消费完这些积压的消息可能需要好几个小时)

2、临时扩容

比如一个消费者一秒消费1000条消息,假设这里有三个消费者,一秒钟就可以消费3000条消息,一分钟可以消费18万条。三个消费者一小时可以消费1080W条消息。

比如现在有800W消息积压,三个消费者就需要大概40~50分钟才能消费完。

如果业务不能够容忍我们花40~50分钟去处理这些积压消息,那我们就可以使用临时扩容的方式去处理。

 假如这里扩容了30个queue和30个消费者,基本只需要4~5分钟,再加上重新生产消息的时间,10分钟左右就可完成积压消息的消费。完成后再把代码切回到之前的代码即可。

总结:出现消息积压,先修复消费者,然后临时扩容消费者,让扩容后的消费者去消费堆积的消息

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值