RocketMQ 訊息消費

2022-02-09 03:12:22 字數 693 閱讀 6500

訊息消費

難點:如何保證訊息只消費一次?

順序消費?

消費模式:

1、單一消費模式:一條訊息,僅被乙個消費者進行消費。

如何進行負載?負載演算法有 a、平均分配。b、平均輪詢分配。c、一致性hash(不推薦)。d、根據配置,為消費者指定訊息佇列。e、根據broker進行分配,消費者固定消費指定的broker。

2、廣播模式:一條訊息被所有的消費者消費。

訊息的消費:

1、乙個訊息佇列,同時只允許乙個消費者進行訊息的消費。乙個消費者可以消費多個訊息佇列。 

順序消費:

1、rocketmq 僅保證佇列裡面的訊息順序的消費,如果需要保證主題(topic)的順序消費,需要將topic的的佇列設定為1(預設為4),這樣設定取消了佇列的高效能。

與activemq的對比:

1、高效能方面:儲存訊息的時候,使用多個佇列來儲存,可以併發的進行訊息的消費。

2、activemq訊息順序的處理方式為:任何時候,只允許乙個消費者消費訊息。如果有2個consumer都是這樣配置的,broker只會把佇列訊息傳送給其中乙個consumer,如果這個consumer掛掉了,broker會把訊息推送給另外的consumer,這樣就保證了按順序消費訊息。

RocketMQ 訊息消費流程

同乙個消費組內的消費者共同承擔其訂閱主題下訊息佇列的消費。分配演算法 盡量使用 平均分配,平均輪詢分配。分配原則 同乙個訊息消費佇列同一時間只會分配給同乙個消費者,乙個消費者可以分配多個訊息消費佇列。順序訊息的消費存在訊息佇列鎖 1.向broker傳送鎖定該訊息佇列的請求 2.鎖定成功建立該訊息佇列...

利用Python消費RocketMQ訊息佇列資料

1 安裝 rocketmq python位址見 pip install rocketmq2安裝rocketmq client cpp 環境 並不能直接使用rocketmq python,需要先安裝 rocketmq client cpp 環境。教程見 sudo rpm ivh rocketmq cl...

Rocketmq訊息佇列廣播消費測試

一 機器部署 1 機器組成 7臺機器,均為16g記憶體 每台伺服器均有4個cpu,2核 2 執行環境配置 3 刷盤方式 每台機器master機器均採用非同步刷盤方式 二 效能評測 1 評測目的 測試consumer端的廣播模式消費。2 評測指標 所屬不同consumergroup組的consumer...