RocketMQ的消息堆积问题

一、确认消息堆积的原因:


    1. 是否是消息消费失败重试导致?
        ▪ 顺序消息在消费失败后会一直重试,务必保证应用能够及时监控并处理消费失败的情况。
        ▪ 普通消息在消费失败后,每隔1s重试一次。


    2. 是否是处理复杂业务性能问题导致?
        ▪ 优化业务,提高业务处理能力。
        ▪ queue扩容,消费端扩容。

二、发现消息堆积后首先要处理堆积的消息:

这时候就得想办法赶紧把积压的消息消费完,就得考虑提高消费能力,一般有两种办法:

消费者扩容:如果当前Topic的MessageQueue的数量大于消费者数量,就可以对消费者进行扩容,增加消费者,来提高消费能力,尽快把积压的消息消费玩。(一个Topic默认有4个Queue)

消息迁移Queue扩容:如果当前Topic的MessageQueue的数量小于或者等于消费者数量,这种情况,再扩容消费者就没什么用,就得考虑扩容MessageQueue。可以新建一个临时的Topic,临时的Topic多设置一些MessageQueue,然后先用一些消费者把消费的数据丢到临时的Topic,因为不用业务处理,只是转发一下消息,还是很快的。接下来用扩容的消费者去消费新的Topic里的数据,消费完了之后,恢复原状。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值