すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:コンシューマーグループ

最終更新日:Nov 10, 2025

このトピックでは、ApsaraMQ for RocketMQ の使用者グループの定義、モデル、内部属性、動作上の制約、バージョンの互換性、および使用上の推奨事項について説明します。

定義

ApsaraMQ for RocketMQ の使用者グループは、同一の消費動作を持つ複数のコンシューマーで構成される負荷分散グループです。

実行中のエンティティであるコンシューマーとは異なり、使用者グループは論理リソースです。ApsaraMQ for RocketMQ では、使用者グループに複数のコンシューマーを初期化して、消費パフォーマンスをスケールアウトし、高可用性のディザスタリカバリを実装できます。

使用者グループには、以下の消費動作が定義されています。同じグループ内のすべてのコンシューマーは、これらの共有された動作とグループの負荷分散ポリシーに基づいてメッセージを消費します。

  • サブスクリプション関係: ApsaraMQ for RocketMQ は、使用者グループ レベルでサブスクリプション関係を管理および追跡します。詳細については、「サブスクリプション関係」をご参照ください。

  • 配信順序: ApsaraMQ for RocketMQ サーバーは、コンシューマーへのメッセージの順序付き配信と同時配信の両方をサポートします。配信方法は、使用者グループ レベルで構成されます。詳細については、「順序付きメッセージ」をご参照ください。

  • 消費リトライポリシー: これは、コンシューマーがメッセージの消費に失敗した場合に適用されるポリシーです。このポリシーには、最大リトライ回数とデッドレターキューの設定が含まれます。詳細については、「消費リトライ」をご参照ください。

モデル関係

ApsaraMQ for RocketMQ ドメインモデルでは、使用者グループはメッセージフロー内で次のように位置付けられます:消费组

  1. プロデューサーはメッセージを生成し、ApsaraMQ for RocketMQ ブローカーに送信します。
  2. ApsaraMQ for RocketMQ ブローカーは、メッセージが受信された順序で、Topic によって指定されたキューにメッセージを保存します。
  3. コンシューマーは、指定されたサブスクリプションに基づいて ApsaraMQ for RocketMQ ブローカーからメッセージを取得して消費します。

内部属性

使用者グループ名

  • 定義: 使用者グループの名前です。グループを他と区別するために使用され、クラスター内でグローバルに一意である必要があります。

  • 値: 使用者グループはユーザーによって作成および構成されます。命名規則の詳細については、「パラメーターの制限」をご参照ください。

消費パターン

  • 定義: コンシューマーがメッセージを消費するパターンです。ApsaraMQ for RocketMQ は、さまざまなシナリオに対応するために、CLUSTERING と LITE_SELECTIVE の 2 つの消費パターンを提供します。詳細については、「軽量 Topic モデル」をご参照ください。

  • 値: デフォルトの消費パターンは CLUSTERING です。

配信順序

  • 定義: ApsaraMQ for RocketMQ がコンシューマークライアントにメッセージを配信する順序です。

    ApsaraMQ for RocketMQ は、さまざまな消費シナリオに対して順序付き配信と同時配信をサポートします。メッセージ処理中に発生する可能性のある例外を防ぐため、使用者グループの作成後に配信順序を変更することはできません。詳細については、「順序付きメッセージ」をご参照ください。

  • 値: デフォルトの配信方法は同時配信です。消費パターンが LITE_SELECTIVE の場合、配信方法は順序付き配信でなければなりません。

消費リトライポリシー

  • 定義: コンシューマーがメッセージの消費に失敗した場合に、システムがメッセージ配信をリトライするために使用するポリシーです。このポリシーに基づいて、システムはメッセージをコンシューマーに再配信し、別の消費試行を行います。詳細については、「消費リトライ」をご参照ください。

  • 値:

    消費リトライポリシーには以下が含まれます:

    • 最大リトライ回数: メッセージを再配信できる最大回数です。最大リトライ回数に達してもメッセージが消費されない場合、メッセージはデッドレターキューに配信されるか、破棄されます。

    • リトライ間隔: ApsaraMQ for RocketMQ サーバーがメッセージを再配信する間隔です。

    最大リトライ回数とリトライ間隔の値の範囲とデフォルト値の詳細については、「パラメーターの制限」をご参照ください。

  • 制約: リトライ間隔は PushConsumers でのみ有効です。

サブスクリプション関係定義: 使用者グループに関連付けられたサブスクリプション関係のセットです。これには、コンシューマーがサブスクライブする Topic とメッセージフィルタリングルールが含まれます。コンシューマーは、使用者グループにサブスクリプション関係を動的に登録します。ApsaraMQ for RocketMQ サーバーは、これらのサブスクリプション関係を永続化し、メッセージ消費の進捗を追跡するために使用します。詳細については、「サブスクリプション関係」をご参照ください。

消費ロジックの制限

ApsaraMQ for RocketMQ のドメインモデルでは、コンシューマーは使用者グループで管理されます。同じ使用者グループ内のコンシューマーは、グループに配信されるすべてのメッセージを共有します。ApsaraMQ for RocketMQ の使用者グループでメッセージが期待どおりにロードされ、消費されるようにするには、グループ内のすべてのコンシューマーで次の消費ロジックが一貫している必要があります:
  • メッセージ配信順序
  • 消費リトライポリシー

バージョンの互換性

メッセージ配信順序と消費リトライポリシーは、使用者グループ内のすべてのコンシューマーで一貫している必要があります。次の項目では、さまざまな ApsaraMQ forRocketMQ ブローカーバージョンで一貫性を確保する方法について説明します:
  • ApsaraMQ for RocketMQ 5.x ブローカー: コンシューマーは、関連付けられている使用者グループからメッセージ配信順序と消費リトライポリシーを取得します。消費ロジックはすべてのコンシューマーで同じです。クライアントでメッセージ配信順序や消費リトライポリシーを指定する必要はありません。
  • ApsaraMQ for RocketMQ 3.x および 4.x ブローカー: メッセージ配信順序と消費リトライポリシーは、クライアント上の API 操作によって定義されます。使用者グループ内のすべてのコンシューマーの消費ロジックが同じであることを確認するために、クライアントでメッセージ配信順序と消費リトライポリシーを指定する必要があります。

以前のバージョンの SDK を使用して ApsaraMQ for RocketMQ 5.x ブローカーにアクセスする場合、コンシューマーの消費ロジックはコンシューマークライアント上の API 操作の構成によって決定されます。

使用上の推奨事項

ビジネスロジックに基づいてグループに分割する

ApsaraMQ for RocketMQ では、コンシューマーと Topic は多対多の関係にあります。使用者グループを設計および作成する際は、次の原則に従ってください:

  • 一貫した配信順序を確保する: 同じ使用者グループ内のすべてのコンシューマーは、順序付きまたは同時のいずれかである同じ配信順序を使用する必要があります。異なる配信順序を必要とするビジネスシナリオに同じ使用者グループを使用しないでください。

  • ビジネスタイプ別にグループ化する: 通常、1 つの使用者グループは 1 つの Topic に対応します。異なるビジネスドメインでは、メッセージフィルタリング属性や消費リトライポリシーなど、メッセージ消費要件が異なります。したがって、異なるビジネスドメインに属する Topic からメッセージを消費するには、異なる使用者グループを使用する必要があります。単一の使用者グループが 10 を超える Topic からメッセージを消費しないことをお勧めします。

使用者グループを管理するための自動化されたメカニズムの使用を避ける

ApsaraMQ for RocketMQ アーキテクチャでは、使用者グループは状態管理に使用される論理リソースです。各使用者グループは、消費状態、メッセージのバックログ、監視可能なメトリック、およびモニタリングデータに関連付けられています。したがって、本番環境では使用者グループのリソースを厳密に管理する必要があります。使用者グループを任意に追加、削除、変更、またはクエリしないでください。