RocketMQ消費者實踐

2022-09-05 20:42:11 字數 613 閱讀 4622

最近工作中用到了rocketmq,現記錄下,如何正確實現消費~

防止重複消費

如何快速消費

消費失敗如何處理

重複消費會造成資料不一致等問題。所以,消費者要做到消費冪等

1)每次消費,記錄messageid;如果再次消費該message,查詢messageid是否已存在,已存在,就跳過消費;

2)使用具體業務狀態來防止重複消費,例如如果狀態已經被變更,說明已有訊息被消費;

消費過程緩慢,勢必會造成訊息積壓,如何提高消費速度勢必比較重要:

每次接收到訊息後,不做處理(具體不一定,最好是簡單),直接將訊息儲存到本地資料庫,然後後台非同步處理訊息,這麼做的好處:

1) 快速消費,如果消費過程比較耗時(大量更新,rpc呼叫等),可以將訊息插入本地,然後後台非同步消費,消費完成,更新本地訊息狀態

2)失敗可控,如果某條訊息消費失敗,不依賴於mq的重試機制,可以定時重跑消費失敗的訊息,或者人工觸發重試消費。

消費過程不能保證不出異常,雖然mq消費失敗有重試機制,但我們並沒有這麼做,而是:

跟上面提到的一樣,由於已經把訊息存到了本地,消費失敗,也不用擔心,後台重跑即可~~~~

RocketMQ 消費者核心配置詳解

topic 下佇列的奇偶數會影響 customer 個數裡面的消費數量 如果是4個佇列,8個訊息,4個節點則會各消費2條,如果不對等,則負載均衡會分配不均。如果 consumer 例項的數量比 message queue 的總數量還多的話,多出來的 consumer 例項將無法分到 queue,也就...

RocketMQ建立多個消費者問題分析

在乙個程序中同乙個消費組建立多個消費者會出現the consumer group groupname has been created before,specify another name please.defaultmqpushconsumer consumer1 new defaultmqpu...

消費者洞察 案例透視消費者洞察實踐與收益

通過前面兩篇文章 資料影響消費,消費營造資料 和 資料化閉環洞察消費者 我們了解了消費品行業的發展現狀以及如何通過資料化閉環洞察消費者,本篇bruce將結合服務的實際專案案例,詳細解讀資料驅動下的消費者洞察實踐與收益。消費者洞察實踐與分析 實現消費者數智化的最佳路徑 以上我通過紙尿褲案例分享了資料化...