pendingmessagelimitstrategy
慢消費者會對non-durable topic帶來問題。慢消費者會強制**在記憶體中保留舊訊息。一旦填滿,就會進一步減緩消費速度。
解決方案:使用pendingmessagelimitstrategy策略。
除了在預獲取緩衝區設定大小之外,在記憶體中保留待處理訊息。通過該策略設定待處理訊息大小。
constantpendingmessagelimitstrategy :設定固定值。
prefetchratependingmessagelimitstrategy:設定乘數因子(在prefetchsize的基礎上,乘該乘數因子,即為設定的保留值。)
或者:
**注:**limit的值如果等於0,則除了預獲取量之外,不保留任何訊息。如果大於0,保留該訊息量,如果超過數量限制,則丟棄訊息。如果小於0,禁用丟棄訊息。此外,設定的保留值應該大於prefetchsize。
messageevictionstrategy
該策略針對的是慢消費者,超過保留的數量限制時,訊息的剔除策略。
oldestmessageevictionstrategy:剔除舊訊息
oldestmessagewithlowestpriorityevictionstrategy:剔除舊訊息中權重低的訊息
uniquepropertymessageevictionstrategy:剔除帶有指定property的訊息
或者:
">
或者:
">
mq獲取訊息慢 ActiveMQ的慢消費者
慢消費者 消費訊息過慢的consumer subscriber。慢消費者會對broker產生影響,尤其是non durable的topic和queue,topic尤甚,會導致broker的記憶體爆滿,阻塞publisher。1.non durable topics 受慢消費者影像最大,傳送到non ...
ActiveMQ中Topic消費者
消費者,接收訊息 第一步 建立乙個connectionfactory物件 第二步 從connectionfactory物件中獲得乙個connection物件 第三步 開啟連線。呼叫connection物件的start方法 第四步 使用connection物件建立乙個session物件 第五步 使用s...
ActiveMQ 設定多個並行的消費者
訊息佇列本來就是一種經典的生產者與消費者模式。生產者向訊息佇列中傳送訊息,消費者從訊息佇列中獲取訊息來消費。訊息的傳送一般由乙個 來實現的,那就是message broker 即訊息 message broker有兩大職責,一是訊息路由,二是資料轉換。這就好比a給b寄信,如果不使用郵局的話,就要自己...