この用語集では、ApsaraMQ for RocketMQ の基本概念を定義します。用語は、メッセージの構造、メッセージの生成と消費、管理とモニタリングの方法といった機能別にグループ化されています。
メッセージ
トピック
トピックは、メッセージの主要な分類子です。プロデューサーはトピックにメッセージを送信し、コンシューマーはトピックをサブスクライブしてメッセージを受信します。各トピックには、1 つ以上のメッセージキュー (パーティション) が含まれています。
トピックの構成に関するガイダンスについては、「トピックとタグのベストプラクティス」をご参照ください。
タグ
タグは、トピック内のメッセージを分類する二次的な分類子です。トピックが広範なメッセージカテゴリを定義するのに対し、タグを使用すると、コンシューマーはそのトピック内の特定のメッセージサブセットをフィルタリングできます。
トピックでのタグの使用に関するガイダンスについては、「トピックとタグのベストプラクティス」をご参照ください。
メッセージ
メッセージは、ApsaraMQ for RocketMQ におけるデータ転送の基本単位です。各メッセージはトピックに属し、オプションでタグを付与できます。
メッセージ ID
ApsaraMQ for RocketMQ が各メッセージに自動的に割り当てるグローバル一意識別子です。メッセージ ID を使用して、個々のメッセージを追跡およびクエリします。
メッセージキー
プロデューサーによって設定されるビジネスレベルの識別子で、メッセージを特定のビジネスロジックに関連付けます。システムが生成するメッセージ ID とは異なり、メッセージキーはアプリケーションで定義され、特定のビジネス操作に関連するメッセージを見つけるのに役立ちます。
メッセージキュー
トピックパーティションとも呼ばれます。メッセージキューは、トピック内の物理的なパーティションです。各トピックには 1 つ以上のキューが含まれており、トピックの作成時に自動的に割り当てられます。トピック内のキューの数は、作成後に変更することはできません。
プロデューサー
プロデューサー
ApsaraMQ for RocketMQ にメッセージを作成して送信するエンティティ (メッセージパブリッシャーとも呼ばれます)。
プロデューサーインスタンス
プロデューサークライアントプロセスです。異なるプロデューサーインスタンスは、別々のプロセスまたは別々のマシンで実行できます。プロデューサーインスタンスはスレッドセーフであり、単一のインスタンスで同じプロセス内の複数のスレッドを実行できます。
コンシューマー
コンシューマー
ApsaraMQ for RocketMQ からメッセージを受信して処理するエンティティ (メッセージサブスクライバーとも呼ばれます)。ApsaraMQ for RocketMQ は、2 種類のコンシューマーをサポートしています:
| コンシューマータイプ | 動作 |
|---|---|
| プッシュコンシューマー | ブローカーがコンシューマーにメッセージをプッシュします。 |
| プルコンシューマー | コンシューマーがブローカーから能動的にメッセージをプルします。このタイプのコンシューマーは、TCP SDK for Java のみがサポートしています。 |
プルコンシューマーには、Enterprise Platinum Edition インスタンスが必要です。詳細については、「メソッドとパラメーター」および「メッセージのサブスクライブ」をご参照ください。
コンシューマーインスタンス
コンシューマークライアントプロセスです。異なるコンシューマーインスタンスは、別々のプロセスまたは別々のマシンで実行できます。各コンシューマーインスタンスは、スレッドプールを使用してメッセージを処理します。
コンシューマオフセット
コンシューマオフセットは、プルコンシューマーがパーティションをどこまで読み取ったかを追跡します。プルコンシューマーは、パーティション内のメッセージを順番に消費します。各パーティションには、次のオフセットマーカーがあります:
MaxOffset:パーティション内のメッセージの総数。
MinOffset:パーティションの開始点。
ConsumerOffset:すでに消費されたメッセージの数。
未消費 (滞留) メッセージの数は、MaxOffset から ConsumerOffset を引いた値に等しくなります。
グループ
プロデューサーまたはコンシューマーの論理的なコレクションです。グループ内のすべてのクライアントは、同じタイプのメッセージを生成または消費し、同じパブリッシュ/サブスクライブロジックに従います。
グループ ID
グループの一意の識別子です。
消費モード
ApsaraMQ for RocketMQ は 2 つの消費モードをサポートしています。違いは、各メッセージがグループ内の 1 つのコンシューマーに配信されるか、すべてのコンシューマーに配信されるかです。
| モード | 配信動作 | 例 (9 メッセージ、3 コンシューマー) |
|---|---|---|
| クラスタリング消費 | メッセージはグループ内のコンシューマーに均等に分散されます。各メッセージは 1 つのコンシューマーに送信されます。 | 各コンシューマーは 3 つのメッセージを処理します。 |
| ブロードキャスト消費 | グループ内のすべてのコンシューマーがすべてのメッセージを受信します。 | 各コンシューマーは 9 つすべてのメッセージを処理します。 |
詳細については、「クラスタリング消費とブロードキャスト消費」をご参照ください。
メッセージタイプ
スケジュールされたメッセージ
特定の時点でコンシューマーに配信されるメッセージです。ブローカーは、スケジュールされた配信時刻になるまでメッセージを保持します。
詳細については、「スケジュールされたメッセージと遅延メッセージ」をご参照ください。
遅延メッセージ
指定された遅延期間の後にコンシューマーに配信されるメッセージです。固定時刻に配信されるスケジュールされたメッセージとは異なり、遅延メッセージは送信されてから相対的な時間間隔の後に配信されます。
詳細については、「スケジュールされたメッセージと遅延メッセージ」をご参照ください。
トランザクションメッセージ
分散トランザクションに参加するメッセージです。ApsaraMQ for RocketMQ は、X/Open XA (eXtended Architecture) に類似した分散トランザクションメカニズムを提供し、分散トランザクション間での結果整合性を保証します。
詳細については、「トランザクションメッセージ」をご参照ください。
順序付きメッセージ
厳密な first-in, first-out (FIFO) 順で公開および消費されるメッセージです。
詳細については、「順序付きメッセージ」をご参照ください。
パーティション順序付きメッセージ
トピック全体ではなく、特定のパーティション内で順序付けられるメッセージです。ApsaraMQ for RocketMQ は、シャーディングキーを使用してメッセージをパーティションに割り当てます。同じシャーディングキーを共有するメッセージは、そのパーティション内で厳密な FIFO 順で公開および消費されます。
シャーディングキーはメッセージキーとして使用できません。
詳細については、「順序付きメッセージ」をご参照ください。
操作とモニタリング
メッセージの滞留
メッセージの滞留は、プロデューサーがメッセージを送信するレートにコンシューマーが追いつけない場合に発生します。未消費のメッセージがブローカーに蓄積されます。
滞留メッセージ = 処理中のメッセージ + 配信待機中のメッセージ
処理中のメッセージ:現在コンシューマーによって処理されているが、まだ確認応答されていないメッセージ。
配信待機中のメッセージ:消費可能であるが、まだ配信されていないメッセージ。

メッセージフィルタリング
コンシューマーが特定のタグに一致するメッセージのみを受信できるようにするブローカー側のメカニズムです。フィルタリングはブローカーで実行されるため、無関係なメッセージはコンシューマーに配信されません。
詳細については、「メッセージフィルタリング」をご参照ください。
メッセージトレース
プロデューサーがメッセージを公開した瞬間からコンシューマーがそれを処理する瞬間までの、メッセージのライフサイクルの完全なレコードです。各トレースには、プロデューサー、ブローカー、コンシューマーという完全なルートに沿ったタイムスタンプと場所が含まれます。メッセージトレースを使用して、配信の問題を診断し、メッセージフローを検証します。
詳細については、「メッセージトレースのクエリ」をご参照ください。
コンシューマオフセットのリセット
コンシューマーグループの消費の進行状況を特定の時点にリセットします。リセット後、コンシューマーは指定されたタイムスタンプ以降に送信されたすべてのメッセージを再読み取りします。リセット範囲は永続ストレージウィンドウに制限されており、デフォルトでは 3 日間です。
詳細については、「コンシューマオフセットのリセット」をご参照ください。
デッドレターキュー
正常に消費できないメッセージを格納する専用のキューです。メッセージの消費に失敗すると、ApsaraMQ for RocketMQ は自動的に配信をリトライします。最大リトライ回数試行してもメッセージが失敗した場合、そのメッセージはデッドレターメッセージとなり、破棄されるのではなく、そのコンシューマーグループに関連付けられたデッドレターキューに移動されます。
詳細については、「デッドレターキュー」をご参照ください。