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

ApsaraMQ for Kafka:コンシューマー詳細の表示

最終更新日:Jan 11, 2025

ApsaraMQ for Kafka インスタンスでメッセージの蓄積、データの偏り、トラフィック調整などの例外が発生した場合、グループとトピック間のサブスクリプションを表示し、各パーティションのコンシューマーの進捗状況と各トピックに蓄積されたメッセージの総数をチェックできます。 これは、できるだけ早くビジネスを調整し、潜在的なリスクを防ぐのに役立ちます。

使用上の注意

  • メッセージの蓄積を防ぐために、各グループは 3 つ以下のトピックにサブスクライブすることをお勧めします。

  • assign モードを使用してメッセージを消費する場合、未コミットのオフセットによる消費済みメッセージの蓄積を防ぐために、できるだけ早くコンシューマーオフセットをコミットする必要があります。 /*If you use the assign mode to consume messages, you must manually commit the consumer offset at the earliest opportunity to prevent the accumulation of consumed messages due to an uncommitted offset.*/

  • 大量のメッセージが蓄積されている場合は、メッセージの消費率と生成率を確認してください。 メッセージ消費率がメッセージ生成率よりも低い場合は、コンシューマーの消費能力を向上させて問題を解決することをお勧めします。

トピックにサブスクライブするコンシューマーグループを表示する

  1. ApsaraMQ for Kafka コンソール にログインします。 リソースの分布 セクションの 概要 ページで、管理する ApsaraMQ for Kafka インスタンスが存在するリージョンを選択します。

  2. インスタンスリスト ページで、管理するインスタンスの名前をクリックします。

  3. 左側のナビゲーションペインで、Topics をクリックします。

  4. Topics ページで、管理するトピックの名前をクリックします。

  5. トピックの詳細 ページで、サブスクリプション関係 タブをクリックします。

    トピックをサブスクライブしているすべての グループ は、現在のトピックを購読しているオンライングループのリスト セクションに表示されます。订阅关系

  6. 現在のトピックを購読しているオンライングループのリスト セクションで、管理する グループ を見つけ、消費の詳細操作 列でクリックします。

    コンシューマー詳細ページには、トピックの各パーティションにおけるグループのコンシューマー詳細が表示されます。次の表にパラメーターを示します。

    image

    パラメーター

    説明

    パーティション ID

    パーティション ID です。

    クライアント

    トピックをサブスクライブしている接続済みコンシューマーの ID です。

    説明
    • 値は <Client ID>_/<IP address> 形式です。

    • 切断されたコンシューマーの ID は表示できません。

    最大オフセット

    パーティションでメッセージを消費できる最大オフセットです。

    Consumer Offset

    パーティションでメッセージが消費されるオフセットです。

    Messages Accumulated

    パーティションに累積されたメッセージの総数です。値は、最大オフセットからコンシューマーオフセットを引いた値です。

    重要

    このパラメーターは重要な指標です。大量のメッセージが累積されている場合、コンシューマーがブロックされたり、消費率が生成率に追いつかなくなったりする可能性があります。この場合、コンシューマーの状態を分析し、消費率を向上させる必要があります。詳細については、「コンシューマーオフセットのリセット」をご参照ください。

グループがサブスクライブしているトピックを表示する

  1. インスタンスリスト ページで、管理するインスタンスの名前をクリックします。

  2. 左側のナビゲーションペインで、Group の管理 をクリックします。

  3. Group の管理 ページで、管理するグループの ID をクリックします。

  4. [グループの詳細] ページで、消費ステータス タブをクリックします。

    グループがサブスクライブしているすべてのトピックと、各トピックに蓄積されたメッセージがリストに表示されます。消费状态

  5. [トピック] 列で、管理するトピックを見つけ、消費の詳細操作 列の をクリックします。

    [コンシューマーの詳細] ページには、対応するトピックの各パーティションにおける グループ のコンシューマーの詳細が表示されます。image

    パラメーターの詳細については、前のセクションをご参照ください。

FAQ

ApsaraMQ for Kafka パーティションにメッセージが蓄積されていても、ダウンストリームアプリケーションのメッセージ消費に影響がないのはなぜですか?

ダウンストリームアプリケーションは、assign /*The assign mode may be adopted by the downstream application to consume messages.*/ モードを採用してメッセージを消費する場合があります。 このモードでは、オフセットを管理します。 この場合、メッセージが消費される場合があります。 メッセージは、コミットされていないオフセットが原因で蓄積されているものとして表示されます。 メッセージの蓄積の問題を解決するために、できるだけ早くオフセットを手動でコミットすることをお勧めします。

メッセージ消費率がメッセージ生成率よりも低いためにメッセージが蓄積されている場合、コンシューマーの消費能力を向上させるにはどうすればよいですか?

次のいずれかの方法を使用して、コンシューマーの消費能力を向上させることができます。

  • コンシューマーの数を増やします。 プロセスにコンシューマーを追加し、各コンシューマーが 1 つの スレッド に対応するようにすることができます。 あるいは、複数のコンシューマープロセスをデプロイすることもできます。 コンシューマーの数がパーティションの数を超えると、消費率は向上しません。 そうでなければ、特定のコンシューマーはアイドル状態になります。

  • 消費 スレッド の数を増やします。 詳細については、「消費率の向上」をご参照ください。

メッセージの蓄積はシステムの問題を示していますか?

いいえ。 メッセージの蓄積は、状況に応じて異なることを示します。

  • 最新の消費時間が現在の時間に近く、累積メッセージ数が想定される安定範囲内で変動している場合は、クライアントが新しいメッセージをプルしています。この場合、メッセージの累積は正常です。

  • 累積メッセージ数が徐々に増加し、コンシューマーオフセットが変更されない場合、クライアントのコンシューマースレッドがブロックされ、クライアントはメッセージの消費とブローカーへのコンシューマーオフセットのコミットを停止します。この場合、メッセージの累積は異常です。

  • 累積メッセージ数が徐々に増加し、コンシューマーオフセットがコミットされている場合、クライアントはメッセージを消費していますが、メッセージ消費率がメッセージ生成率よりも低くなっています。この場合、メッセージの累積は異常です。

詳細については、「ApsaraMQ for Kafka の使用時にメッセージが蓄積された場合の対処方法」をご参照ください。

参考資料

  • 対応する API オペレーションを呼び出してコンシューマー詳細をクエリする方法については、「GetConsumerProgress」をご参照ください。

  • 蓄積されたメッセージを処理したくない場合は、コンシューマーオフセットをリセットすることで、蓄積されたメッセージをスキップできます。 詳細については、「コンシューマーオフセットのリセット」をご参照ください。