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

ApsaraMQ for RocketMQ:TCPクライアントSDKのメジャーバージョンのアップグレード

最終更新日:Jul 08, 2024

ApsaraMQ for RocketMQは、2021年10月18日に、Java用TCPクライアントSDKおよびC ++ 用TCPクライアントSDKの新しいバージョンをリリースしました。 このリリースでは、TCPクライアントSDKのメジャーバージョンがアップグレードされています。 このトピックでは、SDKのバージョン情報、アップグレードをサポートするリージョン、および機能の変更について説明します。

SDKバージョン情報

次の表に、アップグレードされたSDKバージョンに関する情報を示します。

プロトコル

プログラミング言语

バージョン番号

TCP

Java

V2.x.x.Final

C++

V3.x.x

使用上の注意

サポートされるリージョン

  • Java用TCPクライアントSDKをV2.x.x.Finalにアップグレードできるのは、中国 (杭州) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (深セン) 、中国 (成都) 、中国 (香港) 、ドイツ (フランクフルト) 、インドネシア (ジャカルタ) のリージョンのみです。

    重要

    TCPクライアントSDK for Javaを使用してApsaraMQ for RocketMQに接続できるようにするには、他のリージョンではTCPクライアントSDK for JavaをV2.x.x.Finalにアップグレードしないでください。

  • C ++ V3.x.x用のTCPクライアントSDKは、すべてのリージョンで使用できます。

サポートするネットワーク環境

  • TCPクライアントSDK for Java V2.x.x.Final: 仮想プライベートクラウド (VPC) でのみApsaraMQ for RocketMQにアクセスできます。

    重要

    既存のApsaraMQ for RocketMQインスタンスを使用し、クラシックネットワーク経由でインスタンスにアクセスする場合、TCPクライアントSDK for JavaをV2.x.x.Finalにアップグレードしないでください。 それ以外の場合、ApsaraMQ for RocketMQインスタンスにアクセスできません。

  • TCPクライアントSDK for C ++ V3.x.x: ネットワークに制限はありません。

名前空間の制限

  • TCPクライアントSDK for Java V2.x.x.Final: 名前空間を含むインスタンスのみをサポートします。 名前空間を含まないインスタンスを使用する場合は、Java用TCPクライアントSDKをV2.x.x.Finalにアップグレードしないでください。

  • TCPクライアントSDK for C ++ V3.x.x: 名前空間を含むインスタンスのみをサポートします。 名前空間を含まないインスタンスを使用する場合は、Java用TCPクライアントSDKをV3.x.xにアップグレードしないでください。

説明

デフォルトでは、Apache RocketMQ 5.xインスタンスのすべてのMessage Queueに名前空間が含まれます。 Message Queue for Apache RocketMQ 4.xインスタンスに名前空間が含まれているかどうかを確認するには、ApsaraMQ for RocketMQコンソールインスタンスの詳細ページの基本情報セクションに移動します。

機能の変更

次の表に、TCPクライアントSDKのメジャーバージョンをアップグレードする前後でサポートされる機能の違いを示します。

機能

バージョン前アップグレード

SDK for Java: V1.x.x.Final

SDK for C ++: V2.x.xまたはV1.x.x

バージョン後のアップグレード

SDK for Java: V2.x.x.Final

SDK for C ++: V3.x.x

負荷分散ポリシー

負荷分散はキューに基づいて実行されます。

キューベースの負荷分散ポリシーを使用すると、次の問題が発生する可能性があります。

  • コンシューマの数がキューの数よりも多い場合、一部のコンシューマはメッセージを受信できません。

  • 一部のコンシューマは、メッセージを期待どおりに消費できないか、メッセージを低速で消費できません。 他のコンシューマはアイドルのままですが、メッセージを消費できません。 これは、メッセージの蓄積を引き起こす可能性がある。

負荷分散は、メッセージに基づいて実行される。 これは、よりバランスのとれたメッセージ負荷につながる。

これにより、キューベースの負荷分散ポリシーによって引き起こされるアイドル状態のコンシューマまたはメッセージの蓄積も防止されます。

ダッシュボード

受信メッセージ数、送信メッセージ数、累積メッセージ数など、少数のメトリックがサポートされます。

  • メッセージの蓄積に関連するメトリックが追加され、問題をより効率的にトラブルシューティングできるようになります。

  • メッセージングプロセスの各ステップの期間や成功率などの指標が追加されます。

次のメトリックが追加されます。

  • プロデューサー

    • Send RT: トピックでメッセージを生成するために使用される時間。

    • Send API call success rate: トピック内のメッセージ生成の成功率。

  • コンシューマー

    • 平均消費成功率: 特定のインスタンスでのメッセージ消費の成功率。

    • Inflight messages: コンシューマークライアントで処理され、成功応答が返されないメッセージの数。

    • Ready messages: ApsaraMQ for RocketMQブローカーで使用する準備ができているメッセージの数。 このメトリックは、コンシューマーによって処理されないメッセージの数を反映します。

    • Ready message queue time: 現在の時点と、最も早いメッセージが準備された時点との間の時間オフセット。 このメトリックは、準備完了メッセージが処理されるまでの遅延を反映する。 このメトリックは、時間に依存するワークロードにとって重要です。

    • メッセージ処理時間: グループ内のメッセージを消費するために使用される時間。

    • Wait to process time: グループ内のコンシューマーがメッセージを受信してから、コンシューマーがメッセージを消費し始めるまでの時間。

    • 各プロトコルの消費メッセージ: 消費されたメッセージの合計に対する各タイプのプロトコルで消費されたメッセージの割合。

  • インスタンストップ20情報

    • GroupIDごとの準備完了メッセージキュー時間: 準備完了メッセージのキュー期間が最も長い上位20グループ。

    • GroupIDあたりのコンシューマーラグ: 蓄積されたメッセージの数が最も多い上位20グループ。

    • Inflight messages per GroupID: 機内メッセージの数が最も多い上位20グループ。

    • GroupIDあたりのメッセージ処理時間: 消費期間が最も長い上位20グループ。

    • グループIDあたりのメッセージ待機時間: グループ内のコンシューマがメッセージを受信した時点からコンシューマがメッセージを消費し始める時点までの期間が最も長い上位20グループ。

    • Send API call failure rate per Topic: メッセージ生成の失敗率が最も高い上位20のトピック。

    • GroupIDあたりの消費失敗率: メッセージ消費の失敗率が最も高い上位20グループ。

メッセージトレース

事前機能のメッセージのトレースは照会できません。 メッセージの蓄積に関連するデータは、トレースクエリ結果には含まれません。

  • メッセージ消費に関連するデータは、トレースクエリ結果に含まれます。 メッセージトレースは、例外、失敗、期間などのフィルター条件を使用して照会できます。

  • スケジュールされたメッセージ、遅延メッセージ、およびトランザクションメッセージのトレースを照会できます。

  • OpenTelemetryは、メッセージトレースクエリのプロセス全体で使用されます。

トレースクエリ結果に次のパラメーターが追加されます。

パラメーター

説明

AccessKey

Alibaba CloudアカウントまたはRAM (Resource Access Management) ユーザーのAccessKey ID。 AccessKey IDは、ユーザーIDの検証に使用されます。 SDKを使用するか、API操作を呼び出してApsaraMQ for RocketMQリソースを取得する場合、認証にはAccessKey IDが必要です。

ReachServer

ApsaraMQ for RocketMQブローカーにメッセージが到着した時刻。

PresetDeliverAt

スケジュールされたメッセージが配信される予定時刻。

ActualAvailableAt

スケジュールされたメッセージが配信された時刻。 このパラメーターの値は、スケジュールされたメッセージが使用できるようになった時刻を示します。

利用可能時間

メッセージが消費の準備ができた時間。

コミット /RollbackTime

トランザクションメッセージがコミットまたはロールバックされた時刻。

コンシューマーに到達

メッセージがコンシューマークライアントに到着した時刻。

処理時間待ち

メッセージがコンシューマークライアントに到着した時間と、スレッドプールがメッセージのスレッドと処理リソースを割り当てた時間との間の待機時間。