このトピックでは、ApsaraMQ for RocketMQでApsaraMQ for RocketMQの理解と使用に役立つ用語について説明します。
トピック
- トピックはメッセージを分類するために使用されます。 トピックは、メッセージの主要な分類子です。 詳細については、「トピックとタグのベストプラクティス」をご参照ください。
メッセージ
- ApsaraMQ forRocketMQでは、メッセージは情報の転送に使用されるキャリアです。
メッセージID
- メッセージIDは、メッセージのグローバル一意識別子である。 ApsaraMQ for RocketMQは、各メッセージのメッセージIDを自動的に生成します。
メッセージキー
- メッセージキーは、メッセージのビジネスロジックを識別するために使用される一意の識別子です。 メッセージキーは、メッセージプロデューサによって指定される。
タグ
- タグは、トピック内のメッセージをさらに分類するために使用される。 タグは、メッセージの二次分類子である。 詳細については、「トピックとタグのベストプラクティス」をご参照ください。
プロデューサー
- メッセージ発行者とも呼ばれるプロデューサは、メッセージを生成して送信する。
プロデューサーインスタンス
- プロデューサインスタンスは、プロデューサクライアントを指す。 異なるプロデューサーインスタンスは、異なるプロセスで実行したり、異なるホストで実行したりできます。 プロデューサーインスタンスはスレッドを安全に実行できます。 プロデューサーインスタンスは、同じプロセスで複数のスレッドを実行できます。
消費者
- メッセージ加入者としても知られる消費者は、メッセージを受信し、消費する。 消費者は2つのモードでメッセージを消費できます。
- プッシュ: 消費者は、ApsaraMQ for RocketMQによってプッシュされたメッセージを受信します。
- プル: 消費者はApsaraMQ for RocketMQからメッセージをプルします。 TCPクライアントSDK for Javaのみがプルモードをサポートしています。 重要 ApsaraMQ for RocketMQ Enterprise Platinum Editionインスタンスのみがプルモードをサポートしています。
詳細については、「メソッドとパラメーター」および「メッセージのサブスクライブ」をご参照ください。
- メッセージ加入者としても知られる消費者は、メッセージを受信し、消費する。 消費者は2つのモードでメッセージを消費できます。
消費者オフセット
- トピックには複数のパーティションを含めることができます。 パーティション内のメッセージの総数は、最大オフセット (MaxOffset) として知られている。 パーティションの開始点は、最小オフセット (MinOffset) として知られている。
ApsaraMQ for RocketMQでは、プルコンシューマがパーティション内のメッセージを順番に消費します。 パーティション内で消費されるメッセージの数は、コンシューマオフセット (ConsumerOffset) として知られている。 未消費メッセージ数 (累積メッセージ) = MaxOffset - ConsumerOffset
- トピックには複数のパーティションを含めることができます。 パーティション内のメッセージの総数は、最大オフセット (MaxOffset) として知られている。 パーティションの開始点は、最小オフセット (MinOffset) として知られている。
コンシューマーインスタンス
- 消費者インスタンスは、消費者クライアントを指す。 異なるコンシューマーインスタンスは、異なるプロセスで実行したり、異なるホストで実行したりできます。 コンシューマーインスタンスは、スレッドプールを使用してメッセージを消費します。
グループ
生産者または消費者のグループ。 プロデューサグループまたはコンシューマグループ内のクライアントは、同じタイプのメッセージを生成または消費し、同じロジックに基づいてメッセージを発行またはサブスクライブします。
グループID
- グループIDは、グループを識別するために使用される。
メッセージキュー
- トピックパーティションとも呼ばれます。 トピックパーティションは物理パーティションです。 トピックには1つ以上のキューを含めることができます。 トピックを作成すると、システムは自動的にキューを割り当てます。 キューにカスタム値を指定することはできません。
クラスタリング消費
- システムは、トピック内のメッセージを消費者グループ内の消費者に均等に配信します。 たとえば、トピックには9つのメッセージが含まれ、消費者グループには3つの消費者が含まれます。 クラスタリング消費モードでは、各コンシューマは3つのメッセージを消費します。 詳細については、「クラスタリング消費とブロードキャスト消費」をご参照ください。
放送消費
- 消費者グループ内の各消費者は、消費者グループが購読しているトピック内の各メッセージを消費する。 たとえば、トピックには9つのメッセージが含まれ、消費者グループには3つの消費者が含まれます。 ブロードキャスト消費モードでは、各消費者は9つのメッセージを消費する。 詳細については、「クラスタリング消費とブロードキャスト消費」をご参照ください。
スケジュール済みメッセージ
- ApsaraMQ for RocketMQブローカーがプロデューサーからメッセージを受信した後、ApsaraMQ forRocketMQはすぐにはメッセージをコンシューマーに配信しません。 代わりに、ApsaraMQ forRocketMQは指定された時点でコンシューマーにメッセージを配信します。 このタイプのメッセージは、スケジュールされたメッセージである。 詳細については、「スケジュールされたメッセージと遅延メッセージ」をご参照ください。
遅延メッセージ
- ApsaraMQ for RocketMQブローカーがプロデューサーからメッセージを受信した後、ApsaraMQ forRocketMQはすぐにはメッセージをコンシューマーに配信しません。 代わりに、ApsaraMQ forRocketMQは、指定された期間後にメッセージをコンシューマーに配信します。 このタイプのメッセージは遅延メッセージです。 詳細については、「スケジュールされたメッセージと遅延メッセージ」をご参照ください。
トランザクションメッセージ
- ApsaraMQ for RocketMQは、拡張アーキテクチャ (XA) およびOpen XA分散トランザクション処理モードと同様の分散トランザクション処理機能を提供します。 この機能は、ApsaraMQ for RocketMQでデータの一貫性を確保するのに役立ちます。 詳細については、「トランザクションメッセージ」をご参照ください。
注文メッセージ
- 順序付けられたメッセージは、順番に発行および使用されるメッセージです。 ApsaraMQ for RocketMQの順序付きメッセージは、グローバル順序付きメッセージと部分順序付きメッセージに分類されます。 詳細については、「注文メッセージ」をご参照ください。
グローバルに順序付けられたメッセージ
- 指定されたトピック内のすべてのメッセージは、FIFO (first-in first-out) の順序で発行および使用されます。 詳細については、「注文メッセージ」をご参照ください。
部分的に順序付けられたメッセージ
- 指定したトピック内のすべてのメッセージは、シャーディングキーに基づいてパーティションに配布されます。 各パーティション内のメッセージは、FIFO順に発行され、消費される。 シャーディングキーは、ApsaraMQ forRocketMQパーティションがトピック内のメッセージを順序付けたキーフィールドです。 シャーディングキーをメッセージキーとして使用することはできません。 詳細については、「注文メッセージ」をご参照ください。
メッセージの蓄積
- メッセージはApsaraMQ for RocketMQブローカーにスタックされます。これは、すべてのメッセージを短時間で消費するのに十分なリソースがコンシューマーに割り当てられていないためです。 この場合、消費されないメッセージはApsaraMQ for RocketMQブローカーに保存されます。 これは、メッセージ蓄積と呼ばれる。
- 累積メッセージ数=機内メッセージ数 + レディメッセージ数。 次のリストは、メトリックについて説明します。
上の図では、ApsaraMQ for RocketMQが、さまざまな処理段階でのメッセージ数と処理時間を計算します。 このプロセスで使用されるメトリックは、キュー内の処理速度とメッセージの蓄積を反映します。 メトリクスを監視することで、消費中に例外が発生したかどうかを判断できます。 次の表に、メトリクスの詳細とメトリクスの計算に使用される数式を示します。
カテゴリ
メトリック
定義
計算式
メッセージ量
Inflightメッセージ
消費者クライアントが処理中で、クライアントが消費結果を返していないメッセージ。
機内メッセージの数=最新のプルメッセージのオフセット-最新の確認済みメッセージのオフセット
Readyメッセージ
コンシューマーに表示され、ApsaraMQ for RocketMQブローカーで使用できるようになったメッセージ。
準備完了メッセージ数=最大オフセット-最新のプルメッセージのオフセット
消費者の遅れ
処理中で処理可能なメッセージの総数。
コンシューマーラグ=機内メッセージの数 + 準備完了メッセージの数
有効期間
準備時間
通常のメッセージまたは順序付けられたメッセージの場合、準備時間は、メッセージがブローカに格納される時間である。
スケジュールされたメッセージの場合、準備時間は、ブローカーがメッセージを配信するためにスケジュールされた時間です。 遅延メッセージの場合、レディ時間は、指定された遅延期間が経過する時間である。
トランザクションメッセージの場合、準備時間はトランザクションがコミットされた時間です。
非該当
準備完了メッセージキュー時間
現在の時点と最も早い準備完了メッセージの準備完了時刻との間の間隔。
このメトリックは、コンシューマがメッセージをプルする時間を示します。
Ready message queue time = Current time-最も早いReadyメッセージのready time
消費者のラグタイム
最も早い未確認メッセージの準備時間と現在の時間の間の間隔。
このメトリックは、コンシューマがメッセージを処理する時間を示します。
消費者の遅れ時間=現在の時間-最も早い未確認メッセージの準備時間
メッセージフィルター
- 消費者は、タグをフィルタとして指定して、消費したいメッセージのタイプを取得できます。 ApsaraMQ for RocketMQは、指定されたタグに基づいてメッセージをフィルタリングし、フィルタ条件に一致するメッセージのみをコンシューマに配信します。 詳細については、「メッセージのフィルタリング」をご参照ください。
メッセージトレース
- メッセージトレースには、メッセージがプロデューサによって発行された時点から、メッセージがコンシューマによって消費された時点までの、メッセージのタイムスタンプや場所など、メッセージに関する完全な情報が含まれます。 メッセージトレースを表示することで、プロデューサーがメッセージを送信した時点、ApsaraMQ for RocketMQブローカーがメッセージを受信した時点、コンシューマーにメッセージを送信した時点などの情報を取得できます。 詳細については、「クエリメッセージトレース」をご参照ください。
消費者オフセットリセット
- デフォルトでは、ApsaraMQ forRocketMQは3日間メッセージを保持します。 コンシューマーオフセットを指定して、指定した時点以降にApsaraMQ for RocketMQブローカーに送信されたメッセージのみをコンシューマーが消費できるようにすることができます。 詳細については、「コンシューマオフセットのリセット」をご参照ください。
デッドレターキュー
無効文字キューは、使用できないメッセージを処理するために使用されます。 コンシューマーがメッセージの消費に失敗すると、ApsaraMQ for RocketMQは自動的にメッセージをコンシューマーに再配信します。 詳細については、「メッセージの再試行」をご参照ください。 再試行の最大数に達してもメッセージを消費できない場合、ApsaraMQ for RocketMQはメッセージをコンシューマーグループのデットレターキューに配信します。
ApsaraMQ for RocketMQでは、期待どおりに使用できないメッセージはデットレターメッセージであり、デットレターメッセージの格納に使用されるキューはデットレターキューです。
詳細については、「Dead-letterキュー」をご参照ください。