- 原因:
有時可能因為消費者自身代碼問題,導致沒辦法正常消費消息,那么就會導致消息隊列中會堆積大量的消息;
或因為同一時間來了非常多的消息,消費者沒辦法及時消費,導致消息隊列中堆積了大量消息。
- 解決辦法:
1.去優化消費者代碼,提高消費能力。減少消費時間
2.可以給消費設置年齡(生命周期),如果超時就丟棄掉。可以不讓消息大量堆積在消息隊列中
3.可以設置隊列的最大長度:如果超過了,就無法接收消息到隊列中。
4.建立新的消息隊列,采用訂閱模式,消費者同時去訂閱新的,還有舊的消息隊列,同時去消費消息。
原來是三個消費者去消費消息。現在增加10個,20個,30個,或者更多消費者, 大家一起去消費隊列中的消息,就可以解決消費者隊列中
堆積的消息處理掉。