消息大量積壓怎麼解決?

消息的積壓來自於兩方面:要麼發送快了,要麼消費變慢了。

  • 單位時間發送的消息增多,比如趕上大促或者搶購,短時間內不太可能優化消費端的代碼來提升消費性能,唯一的辦法是通過擴容消費端的實例數來提升總體的消費能力。嚴重影響 QM 甚至整個系統時,可以考慮臨時啓用多個消費者,併發接受消息,持久化之後再單獨處理,或者直接丟棄消息,回頭讓生產者重新生產。
  • 如果短時間內沒有服務器資源擴容,沒辦法的辦法是將系統降級,通過關閉某些不重要的業務,減少發送的數據量,最低限度讓系統還能正常運轉,服務重要業務。
  • 監控發現,產生和消費消息的速度沒什麼變化,出現消息積壓的情況,檢查是有消費失敗反覆消費的情況。
  • 監控發現,消費消息的速度變慢,檢查消費實例,日誌中是否有大量消費錯誤、消費線程是否死鎖、是否卡在某些資源上。

 

 


【Java面試題與答案】整理推薦

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章