全部產品
Search
文件中心

ApsaraMQ for RocketMQ:消費者分組(ConsumerGroup)

更新時間:Oct 28, 2025

本文介紹雲訊息佇列 RocketMQ 版中消費者分組(ConsumerGroup)的定義、模型關係、內部屬性、行為約束、版本相容性及使用建議。

定義

消費者分組是雲訊息佇列 RocketMQ 版系統中承載多個消費行為一致的消費者的負載平衡分組。

和消費者不同,消費者分組並不是運行實體,而是一個邏輯資源。在雲訊息佇列 RocketMQ 版中,通過消費者分組內初始化多個消費者實現消費效能的水平擴充以及高可用容災。

在消費者分組中,統一定義以下消費行為,同一分組下的多個消費者將按照分組內統一的消費行為和負載平衡策略消費訊息。

  • 訂閱關係:雲訊息佇列 RocketMQ 版以消費者分組的粒度管理訂閱關係,實現訂閱關係的管理和追溯。具體資訊,請參見訂閱關係(Subscription)

  • 投遞順序性:雲訊息佇列 RocketMQ 版的服務端將訊息投遞給消費者消費時,支援順序投遞和並發投遞,投遞方式在消費者分組中統一配置。具體資訊,請參見順序訊息

  • 消費重試策略: 消費者消費訊息失敗時的重試策略,包括重試次數、無效信件佇列設定等。具體資訊,請參見消費重試

模型關係

雲訊息佇列 RocketMQ 版的領域模型中,消費者分組的位置和流程如下:消費組

  1. 訊息由生產者初始化並發送到雲訊息佇列 RocketMQ 版服務端。
  2. 訊息按照到達雲訊息佇列 RocketMQ 版服務端的順序儲存到主題的指定隊列中。
  3. 消費者按照指定的訂閱關係從雲訊息佇列 RocketMQ 版服務端中擷取訊息並消費。

內部屬性

消費者分組名稱

  • 定義:消費者分組的名稱,用於區分不同的消費者分組。叢集內全域唯一。

  • 取值:消費者分組由使用者佈建並建立。具體命名規範,請參見參數限制

消費模式

  • 定義:消費者消費訊息時,雲訊息佇列 RocketMQ 版向消費者用戶端投遞訊息的順序。根據不同的消費情境,雲訊息佇列 RocketMQ 版提供 CLUSTERING(叢集)和 LITE_SELECTIVE(輕量)兩種消費模式。具體資訊,請參見輕量主題模型

  • 取值:預設消費模式值為CLUSTERING。

投遞順序性

  • 定義:消費者消費訊息時,雲訊息佇列 RocketMQ 版向消費者用戶端投遞訊息的順序。

    根據不同的消費情境,雲訊息佇列 RocketMQ 版提供順序投遞和並發投遞兩種方式。為避免可能存在的訊息異常,消費者分組 建立後,投遞順序性無法更改。具體資訊,請參見順序訊息

  • 取值:預設投遞方式為並發投遞。當消費模式為LITE_SELECTIVE時,投遞方式只能為順序投遞。

消費重試策略

  • 定義:消費者消費訊息失敗時,系統的重試策略。消費者消費訊息失敗時,系統會按照重試策略,將指定訊息投遞給消費者重新消費。具體資訊,請參見消費重試

  • 取值:

    重試策略包括:

    • 最大重試次數:表示訊息可以重新被投遞的最大次數,超過最大重試次數還沒被成功消費,訊息將被投遞至無效信件佇列或丟棄。

    • 稍候再試:雲訊息佇列 RocketMQ 版服務端重新投遞訊息的間隔時間。

    最大重試次數和稍候再試的取值範圍及預設值,請參見參數限制

  • 約束:稍候再試僅在PushConsumer消費類型下有效。

訂閱關係定義:當前消費者分組關聯的訂閱關係集合。包括消費者訂閱的主題,以及訊息的過濾規則等。訂閱關係由消費者動態註冊到消費者分組中,雲訊息佇列 RocketMQ 版服務端會持久化訂閱關係並匹配訊息的消費進度。更多資訊,請參見訂閱關係(Subscription)

行為約束

雲訊息佇列 RocketMQ 版領域模型中,消費者的管理通過消費者分組實現,同一分組內的消費者共同分攤訊息進行消費。因此,為了保證分組內訊息的正常負載和消費,雲訊息佇列 RocketMQ 版要求同一分組下的所有消費者以下消費行為保持一致:
  • 投遞順序
  • 消費重試策略

版本相容性

如行為約束中所述,同一分組內所有消費者的投遞順序和消費重試策略需要保持一致。
  • 雲訊息佇列 RocketMQ 版服務端5.x版本:上述消費者的消費行為從關聯的消費者分組中統一擷取,因此,同一分組內所有消費者的消費行為必然是一致的,用戶端無需關注。
  • 雲訊息佇列 RocketMQ 版服務端3.x/4.x歷史版本:上述消費邏輯由消費者用戶端介面定義,因此,您需要自己在消費者用戶端設定時保證同一分組下的消費者的消費行為一致。

若您使用雲訊息佇列 RocketMQ 版服務端5.x版本,用戶端使用歷史版本SDK,則消費者的消費邏輯以消費者用戶端介面的設定為準。

使用建議

按照業務合理拆分分組

雲訊息佇列 RocketMQ 版的消費者和主題是多對多的關係,對於消費者分組的拆分設計,建議遵循以下原則:

  • 消費者的投遞順序一致:同一消費者分組下所有消費者的消費投遞順序是相同的,統一都是順序投遞或並發投遞,不同業務情境不能混用消費者分組。

  • 消費者業務類型一致:一般消費者分組和主題對應,不同業務域對訊息消費的要求不同,例如訊息過濾屬性、消費重試策略不同。因此,不同業務域主題的消費建議使用不同的消費者分組,避免一個消費者分組消費超過10個主題。

消費者分組管理盡量避免自動化機制

雲訊息佇列 RocketMQ 版架構中,消費分組屬於狀態管理類的邏輯資源,每個消費分組都會涉及關聯的消費狀態、堆積資訊、可觀測指標和監控採集資料。因此,生產環境需要嚴格管理消費者分組資源,請勿隨意進行增、刪、改、查操作。