このトピックでは、RocketMQ for ApsaraMQ で使用される用語について説明し、サービスの理解と使用に役立てます。
トピック
トピックは、メッセージを分類するために使用されます。トピックは、メッセージの主要な分類子です。詳細については、「トピックとタグのベストプラクティス」をご参照ください。
メッセージ
RocketMQ for ApsaraMQ では、メッセージは情報を転送するために使用されるキャリアです。
メッセージ ID
メッセージのグローバルに一意な識別子です。メッセージ ID は RocketMQ for ApsaraMQ によって自動的に生成されます。
メッセージキー
メッセージキーは、メッセージのビジネスロジックを識別するために使用される一意の識別子です。メッセージキーは、メッセージプロデューサーによって指定されます。
タグ
タグは、トピック内のメッセージをさらに分類するために使用されます。タグは、メッセージの二次的な分類子です。詳細については、「トピックとタグのベストプラクティス」をご参照ください。
プロデューサー
プロデューサーは、メッセージパブリッシャーとも呼ばれ、メッセージを生成して送信します。
プロデューサーインスタンス
プロデューサーインスタンスは、プロデューサークライアントを指します。異なるプロデューサーインスタンスは、異なるプロセスまたは異なるマシンで実行できます。プロデューサーインスタンスはスレッドセーフです。プロデューサーインスタンスは、同じプロセスで複数のスレッドを実行できます。
コンシューマー
コンシューマーは、メッセージサブスクライバーとも呼ばれ、メッセージを受信して消費します。RocketMQ for ApsaraMQ では、コンシューマーは次のタイプに分類できます。
プッシュコンシューマー: RocketMQ for ApsaraMQ は、このタイプのコンシューマーにメッセージをプッシュします。
プルコンシューマー: このタイプのコンシューマーは、RocketMQ for ApsaraMQ からメッセージをアクティブにプルします。Java 用 TCP SDK のみ、このタイプのコンシューマーをサポートしています。
重要RocketMQ for ApsaraMQ インスタンスが Enterprise Platinum Edition インスタンスであることを確認してください。
詳細については、「メソッドとパラメーター」および「メッセージのサブスクライブ」をご参照ください。
コンシューマーオフセット
1 つのトピックには複数のパーティションを含めることができます。パーティション内のメッセージの総数は、最大オフセット(MaxOffset)と呼ばれます。パーティションの開始点は、最小オフセット(MinOffset)と呼ばれます。
RocketMQ for ApsaraMQ では、プルコンシューマーはパーティション内のメッセージを順番に消費し、消費されたメッセージの数を記録します。これはコンシューマーオフセットと呼ばれます。パーティション内の未消費メッセージ(累積メッセージ)の数は、最大オフセット(MaxOffset)とコンシューマーオフセット(ConsumerOffset)の差です。
コンシューマーインスタンス
コンシューマーインスタンスは、コンシューマークライアントを指します。異なるコンシューマーインスタンスは、異なるプロセスまたは異なるマシンで実行できます。コンシューマーインスタンスは、スレッドプールを使用してメッセージを消費します。
グループ
プロデューサーまたはコンシューマーのグループです。プロデューサーグループまたはコンシューマーグループのクライアントは、同じタイプのメッセージを生成または消費し、同じロジックに基づいてメッセージをパブリッシュまたはサブスクライブします。
グループ ID
グループ ID は、グループを識別するために使用されます。
メッセージキュー
トピックパーティションとも呼ばれます。トピックパーティションは物理パーティションです。1 つのトピックには 1 つ以上のキューを含めることができます。トピックを作成すると、システムは自動的にキューを割り当てます。トピック内のキューの数は変更できません。
クラスタリング消費
クラスタリング消費モードでは、システムはトピック内のメッセージをコンシューマーグループ内のコンシューマーに均等に配信します。たとえば、トピックに 9 つのメッセージが含まれており、コンシューマーグループに 3 つのコンシューマーが含まれているとします。このモードでは、各コンシューマーは 3 つのメッセージを消費します。詳細については、「クラスタリング消費とブロードキャスト消費」をご参照ください。
ブロードキャスト消費
ブロードキャスト消費モードでは、コンシューマーグループ内の各コンシューマーは、コンシューマーグループがサブスクライブしているトピック内の各メッセージを消費します。たとえば、トピックに 9 つのメッセージが含まれており、コンシューマーグループに 3 つのコンシューマーが含まれているとします。このモードでは、各コンシューマーは 9 つのメッセージを消費します。詳細については、「クラスタリング消費とブロードキャスト消費」をご参照ください。
スケジュールメッセージ
スケジュールメッセージは、RocketMQ for ApsaraMQ ブローカーによって特定の時点でコンシューマーに配信されるメッセージです。詳細については、「スケジュールメッセージと遅延メッセージ」をご参照ください。
遅延メッセージ
遅延メッセージは、RocketMQ for ApsaraMQ ブローカーによって特定の期間が経過した後にコンシューマーに配信されるメッセージです。詳細については、「スケジュールメッセージと遅延メッセージ」をご参照ください。
トランザクションメッセージ
RocketMQ for ApsaraMQ は、eXtended Architecture (X/Open XA) に類似した分散トランザクション機能を提供し、分散トランザクションの最終的な整合性を保証します。この機能は、トランザクションメッセージと呼ばれます。詳細については、「トランザクションメッセージ」をご参照ください。
順序付けメッセージ
順序付けメッセージは、RocketMQ for ApsaraMQ によって提供されるメッセージのタイプです。順序付けメッセージは、厳密な先入れ先出し(FIFO)順序でパブリッシュおよび消費されます。詳細については、「順序付けメッセージ」をご参照ください。
パーティション順序付けメッセージ
特定のトピック内のメッセージは、シャーディングキーに基づいてパーティション分割されます。各パーティション内のメッセージは、厳密な FIFO 順序でパブリッシュおよび消費されます。シャーディングキーは、RocketMQ for ApsaraMQ がトピック内の順序付けメッセージをパーティション分割する際に基づくキーフィールドです。シャーディングキーは、メッセージキーとして使用できません。詳細については、「順序付けメッセージ」をご参照ください。
メッセージの累積
コンシューマーに、プロデューサーによって短期間に送信されたすべてのメッセージを消費するのに十分なリソースが割り当てられていない場合、メッセージは RocketMQ for ApsaraMQ ブローカーにスタックされて保存されます。この現象は、メッセージの累積と呼ばれます。
累積メッセージ数 = 処理中のメッセージ数 + 準備完了メッセージ数。次の図はメトリックを示しています:

メッセージフィルタリング
コンシューマーは、タグをフィルターとして指定して、消費するメッセージのタイプを取得できます。メッセージフィルタリングは、RocketMQ for ApsaraMQ ブローカーで完了します。詳細については、「メッセージフィルタリング」をご参照ください。
メッセーゲットレース
メッセーゲットレースには、プロデューサーによってメッセージがパブリッシュされた時点からコンシューマーによってメッセージが消費された時点までのメッセージに関する完全な情報(メッセージのタイムスタンプや場所など)が含まれます。メッセーゲットレースは、プロデューサーから RocketMQ for ApsaraMQ ブローカー、そしてコンシューマーまでのメッセージの完全なルートを記録します。メッセーゲットレースは、問題のトラブルシューティングに役立ちます。詳細については、「メッセーゲットレースのクエリ」をご参照ください。
コンシューマーオフセットのリセット
タイムラインを座標として使用し、コンシューマーグループが永続ストレージの時間範囲内(デフォルトでは 3 日間)でサブスクライブしているトピックのコンシューマーの進捗状況をリセットできます。設定が完了すると、コンシューマーは指定された時点以降に RocketMQ for ApsaraMQ ブローカーに送信されたメッセージを受信できます。詳細については、「コンシューマーオフセットのリセット」をご参照ください。
デッドレターキュー
デッドレターキューは、消費できないメッセージを処理するために使用されます。メッセージの消費に失敗した場合、RocketMQ for ApsaraMQ は自動的にメッセージを再試行します。最大再試行回数に達した後もメッセージの消費に失敗した場合、コンシューマーは期待どおりにメッセージを消費できません。この場合、RocketMQ for ApsaraMQ はメッセージをすぐに破棄しません。代わりに、コンシューマーに対応する特別なキューにメッセージを配信します。
RocketMQ for ApsaraMQ では、正しく消費できないメッセージはデッドレターメッセージと呼ばれ、デッドレターメッセージを格納するために使用される特別なキューはデッドレターキューと呼ばれます。
詳細については、「デッドレターキュー」をご参照ください。