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

ApsaraMQ for RocketMQ:SDK リファレンスの概要

最終更新日:Nov 09, 2025

ApsaraMQ for RocketMQ は、TCP および HTTP プロトコル用の多言語ソフトウェア開発キット (SDK) を提供します。このトピックでは、SDK 間の違いを説明し、それらの使用方法について解説します。

SDK のバージョン

ApsaraMQ for RocketMQ SDK の異なるバージョンでサポートされている機能について、次の表で説明します。

次の表では、✅ は機能がサポートされていることを示し、❌ は機能がサポートされていないことを示します。

項目

RocketMQ 5.x gRPC SDK

RocketMQ 5.x Remoting SDK

RocketMQ 4.x/3.x SDK

RocketMQ ONS TCP 1.x SDK

RocketMQ ONS TCP 2.x SDK

RocketMQ ONS HTTP SDK

プロトコル

gRPC プロトコル v2

Remoting プロトコル

Remoting プロトコル

Remoting プロトコル

gRPC プロトコル v1

HTTP プロトコル

アクセス可能なインスタンス

5.x シリーズインスタンス

  • 5.x シリーズインスタンス

  • 4.x シリーズインスタンス

  • 5.x シリーズインスタンス

  • 4.x シリーズインスタンス

  • 5.x シリーズインスタンス

  • 4.x シリーズインスタンス

4.x シリーズインスタンス

4.x シリーズインスタンス

推奨事項

5.x gRPC SDK を使用します。

  • 多言語を包括的にサポートします。

  • すべての新機能と最適化は 5.x gRPC SDK でサポートされます。

  • 5.x gRPC SDK の一部の機能が要件を満たさない場合は、5.x Remoting SDK を使用できます。

  • サービスがすでにこれらのバージョンのクライアントを使用している場合は、引き続き使用できます。

  • 5.x シリーズインスタンスは、これらの SDK バージョンと互換性があります。

  • これらのバージョンのクライアントは使用しないでください。これらの SDK バージョンは、新しい機能や最適化をサポートしていません。

  • 4.x シリーズインスタンスにのみアクセスできます。

通常、順序、トランザクション、およびスケジュールメッセージの送信

並行消費

順序付き消費

順序コンシュームのためのコンシューム同時実行の最適化

ブロードキャストコンシューム

ストリームコンシューム (Flink などのサービスへの接続)

メッセージトレース

バージョン 4.5.2 以降でサポート

プロデューサーおよびコンシューマークライアントのメトリック

グレースフルシャットダウン

5.x シリーズインスタンスでのみサポート

SDK の制限

  • 同じ使用者グループ内の異なるコンシューマーは、同じプロトコルのクライアントを使用する必要があります。

  • 同じ使用者グループに対して Remoting プロトコル SDK から gRPC プロトコル SDK へのカナリアアップグレードを実行する場合は、次の点に注意してください:

    • 順序どおりにメッセージを配信する使用者グループのアップグレードはサポートされていません。

    • メッセージを同時に配信する使用者グループのスムーズなアップグレードはサポートされています。ただし、アップグレード中に少数のメッセージが重複する可能性があります。

  • 同じ順序 Topic にメッセージを送信する場合、すべてのプロデューサークライアントは同じプロトコル (Remoting プロトコルまたは gRPC プロトコル) を使用する必要があります。

  • 順序どおりにメッセージを配信する使用者グループの場合、次の手順を実行すると、コンシューマオフセットのロールバックが発生する可能性があります:

    1. 順序使用者グループは、最初に Remoting プロトコル SDK で実行されます。

    2. SDK を gRPC プロトコル SDK にアップグレードします。

    3. SDK を Remoting プロトコル SDK に復元します。

  • RocketMQ ONS TCP 2.x SDK は、一部のリージョンでのみサポートされています。詳細については、「制限」をご参照ください。

TCP プロトコル

重要

オープンソースの RocketMQ をクラウドに移行し、コードを変更したくない場合にのみ、Community Edition SDK を使用してください。他のすべてのシナリオでは、ApsaraMQ for RocketMQ が提供する Enterprise Edition SDK を使用してください。Community Edition SDK と比較して、Enterprise Edition SDK はより多くの機能を提供し、より高い安定性を保証します。

Enterprise Edition TCP プロトコル SDK (ONS 1.x/2.x SDK)

HTTP プロトコル

Enterprise Edition HTTP プロトコル SDK (多言語サポートに推奨)

TCP と HTTP プロトコル SDK の比較

TCP および HTTP プロトコル SDK は、異なる機能をサポートしています。どちらのプロトコルタイプが要件に最も適しているかを評価してください。

SDK プロトコルタイプ

TCP プロトコル SDK

HTTP プロトコル SDK

推奨

推奨される選択肢

  • 高い転送パフォーマンスを提供し、高同時実行シナリオに適しています。

  • より完全なメッセージ機能を提供し、迅速な反復をサポートします。

  • より多くの可観測性メトリックと、メッセージ蓄積やコンシューマオフセットのリセットなどのより完全な機能を提供します。

代替の選択肢

  • 多言語アクセスの補足。TCP プロトコルが特定の言語をサポートしていない場合は、HTTP プロトコルを選択できます。

  • 機能の概念が少なく、軽量なアクセスを提供し、単純なシナリオに適しています。

通常メッセージ

Supported

Supported

順序メッセージ

Supported

Supported

スケジュール/遅延メッセージ

Supported

Supported

トランザクションメッセージ

Supported

Supported

PushConsumer

Supported

Not supported

PullConsumer

Supported

Not supported

バッチコンシューム

Supported

Not supported

ブロードキャストコンシューム

Supported

Not supported

クラスタリングコンシューム

Supported

Supported

メッセージリトライ

Supported

Supported

メッセージトレースのクエリ

Supported

Supported

デッドレターキュー

Supported

Supported

コンシューマオフセットのリセット

Supported

Unsupported

SDK の使用上の注意

  • 各タイプのエンドポイントは、同じプロトコルタイプのクライアントでのみ使用できます。たとえば、TCP クライアント SDK を使用してメッセージを送受信する場合、ApsaraMQ for RocketMQ インスタンスの TCP エンドポイントを使用して ApsaraMQ for RocketMQ ブローカーにアクセスする必要があります。

  • ApsaraMQ for RocketMQ は、HTTP および TCP プロトコルのグループ ID をサポートしています。異なるプロトコルのグループ ID は交換して使用することはできません。たとえば、TCP プロトコル SDK を使用してメッセージを送受信する場合、TCP プロトコルのグループ ID を作成する必要があります。

  • TCP プロトコルを使用するクライアントと HTTP プロトコルを使用するクライアントは、相互にメッセージを送受信できます。ただし、HTTP プロトコルは XML を使用してメッセージをシリアル化します。したがって、メッセージのプロパティ、内容、タグ、およびキーは XML 仕様に準拠する必要があります。そうしないと、メッセージの送信またはコンシュームに失敗する可能性があります。

    XML 仕様に準拠しないメッセージは、Base64 を使用してエンコードおよびデコードできます。

    説明

    XML 仕様の詳細については、「XML 構文」をご参照ください。また、xml_validator などのサードパーティツールを使用して、XML 構文が有効かどうかを確認することもできます。

  • TCP および HTTP クライアント用のパブリックエンドポイントとプライベートエンドポイントは、すべてのリージョンで提供されています。本番環境では、仮想プライベートクラウド (VPC) 内で ApsaraMQ for RocketMQ にアクセスすることをお勧めします。Cloud Enterprise Network (CEN) が利用できない場合に、リージョンを越えて、オンプレミスのデータセンターから、またはインターネット経由で ApsaraMQ for RocketMQ にアクセスしたい場合は、パブリックエンドポイントを使用して ApsaraMQ for RocketMQ インスタンスにアクセスできます。パブリックエンドポイントを使用して ApsaraMQ for RocketMQ インスタンスにアクセスする場合、アウトバウンドインターネットトラフィックに対して課金されます。詳細については、「インターネットトラフィックの課金」をご参照ください。