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