rocketMQ处理消息堆积


首先要找到原因,是producer太多了,还是说consumer太少了。定位问题,然后看下消息的消费速度是否正常,正常的话,可以通过临时上线更多consumer解决问题。

 

如果consumer和queue不对等,上线了多台consumer也无法解决的话,可以

  • 准备一个临时的topic;
  • queue的数量是堆积的N倍;
  • queue分布到多台broker中
  • 上线一台consumer做消息搬运工,把原来topic中的信息搬到新topic中,不做业务处理,只搬运
  • 上线N台consumer同时消费topic中的数据

 

tip1:堆积时间过长消息会超时吗?

rocketMQ中的消息只有在commitLog被删除的时候才会消失,不会超时。也就是说没被消费的消息不存在会被超时删除这种情况。

tip2:堆积的消息会不会进入死信队列?

不会的,消息再被消费失败后会进入重试队列。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM