RabbitMQ訊息堆積問題?

2022-09-12 22:12:34 字數 371 閱讀 6976

有時可能因為消費者自身**問題,導致沒辦法正常消費訊息,那麼就會導致訊息佇列中會堆積大量的訊息;

或因為同一時間來了非常多的訊息,消費者沒辦法及時消費,導致訊息佇列中堆積了大量訊息。

1.去優化消費者**,提高消費能力。減少消費時間

2.可以給消費設定年齡(生命週期),如果超時就丟棄掉。可以不讓訊息大量堆積在訊息佇列中

3.可以設定佇列的最大長度:如果超過了,就無法接收訊息到佇列中。

4.建立新的訊息佇列,採用訂閱模式,消費者同時去訂閱新的,還有舊的訊息佇列,同時去消費訊息。

原來是三個消費者去消費訊息。現在增加10個,20個,30個,或者更多消費者, 大家一起去消費佇列中的訊息,就可以解決消費者佇列中

堆積的訊息處理掉。

一次 kafka 訊息堆積問題排查

收到某業務組的小夥伴發來的反饋,具體問題如下 專案中某 kafka 訊息組消費特別慢,有時候在 kafka manager 控制台看到有些消費者已被踢出消費組。從服務端日誌看到如下資訊 該消費組在短時間內重平衡了 600 多次。從 cat 檢視得知,每條訊息處理都會有 4 次資料庫的互動,經過一番溝...

RabbitMQ 訊息冪等性問題

關於mq消費者的冪等性問題,在於mq的重試機制,因為網路原因或客戶端延遲消費導致重複消費。使用mq重試機制需要注意的事項以及如何解決消費者冪等性問題以下將逐一講解。1.rabbitmq自動重試機制 消費者在消費訊息的時候,如果消費者業務邏輯出現程式異常,這個時候我們如何處理?使用重試機制,rabbi...

RabbitMQ 訊息廣播

rabbitmq訊息模型的核心理念是 發布者 producer 不會直接傳送任何訊息給佇列。事實上,發布者 producer 甚至不知道訊息是否已經被投遞到佇列。發布者 producer 只需要把訊息傳送給乙個交換機 exchange 交換機非常簡單,它一邊從發布者方接收訊息,一邊把訊息推送到佇列。...