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

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

最終更新日:Oct 09, 2026

ApsaraMQ for RocketMQ は、複数のプログラミング言語向けに、TCP プロトコルと HTTP プロトコル用の SDK を提供しています。インスタンスのバージョン、必要な機能、優先するプロトコルに基づいて SDK を選択してください。

SDK バージョンの選択

5.x gRPC SDK の使用を推奨します。この SDK はすべての新機能をサポートし、継続的に最適化されています。gRPC SDK が特定の機能に対応していない場合は、5.x Remoting SDK にフォールバックしてください。

次の表は、利用可能なすべての 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 シリーズのインスタンス

使用するケース

推奨。複数言語をサポート。すべての新機能と最適化は、この SDK を対象としています。

5.x gRPC SDK が特定の要件を満たさない場合に、Remoting SDK にフォールバックします。

サービスがすでにこれらのクライアントで実行されている場合にのみ使用します。5.x インスタンスには下位互換性があります。

サービスがすでにこれらのクライアントで実行されている場合にのみ使用します。5.x インスタンスには下位互換性があります。

レガシー SDK。新機能の追加はありません。4.x インスタンスにのみアクセスします。

レガシー SDK。新機能の追加はありません。4.x インスタンスにのみアクセスします。

通常、順序付き、トランザクション、スケジュール/遅延メッセージ

✅

✅

✅

✅

✅

✅

同時コンシューム

✅

✅

✅

✅

✅

✅

順次コンシューム

✅

✅

✅

✅

✅

✅

順次コンシュームの同時実行性最適化

✅

❌

❌

❌

❌

❌

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

❌

✅

✅

✅

❌

❌

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

❌

✅

✅

❌

❌

❌

メッセージトレース

✅

✅

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

✅

✅

❌

プロデューサーとコンシューマーのクライアントメトリクス

✅

❌

❌

❌

❌

❌

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

✅

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

❌

❌

❌

❌

制限事項

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

  • 同一のコンシューマーグループ内で、Remoting プロトコル SDK から gRPC プロトコル SDK へのグレースケールアップグレードを実行する場合:

    • 順序付きメッセージをコンシュームするコンシューマーグループは、このアップグレードをサポートしていません。

    • メッセージを同時にコンシュームするコンシューマーグループは、スムーズなアップグレードをサポートしています。アップグレード中に少数のメッセージが重複する可能性があります。

  • コンシューマーグループを Remoting プロトコル SDK で開始し、gRPC プロトコル SDK にアップグレードした後、再び Remoting プロトコル SDK にロールバックした場合、順序付きメッセージのコンシューマーオフセットがロールバックされる可能性があります。

  • RocketMQ ONS TCP 2.x SDK は、一部のリージョンでのみ利用可能です。詳細については、「制限事項」をご参照ください。

TCP プロトコル SDK

重要

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

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

Java

C/C++

.NET

HTTP プロトコル SDK

HTTP プロトコル SDK (Enterprise Edition) は、TCP プロトコルがサポートしていないプログラミング言語にも対応しているため、多言語環境での利用を推奨します。

Enterprise Edition HTTP プロトコル SDK

Java

PHP

Go

Python

Node.js

C#

C++

TCP と HTTP の機能比較

TCP プロトコルの使用を推奨します。TCP は、高い転送パフォーマンスを提供し、より多くのメッセージング機能をサポートします。さらに、メッセージの蓄積やコンシューマーオフセットのリセットなど、より豊富な可観測性を備えています。お使いのプログラミング言語が TCP でサポートされていない場合や、軽量なアクセスで十分な場合は HTTP を使用してください。

機能

TCP

HTTP

通常メッセージ

✅

✅

順序付きメッセージ

✅

✅

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

✅

✅

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

✅

✅

PushConsumer

✅

❌

PullConsumer

✅

❌

バッチコンシューム

✅

❌

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

✅

❌

クラスターコンシューム

✅

✅

メッセージリトライ

✅

✅

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

✅

✅

デッドレターキュー

✅

✅

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

✅

❌

注意事項

  • エンドポイントのタイプを SDK プロトコルに合わせてください。TCP SDK には ApsaraMQ for RocketMQ インスタンスの TCP エンドポイントが、HTTP SDK には HTTP エンドポイントが必要です。

  • グループ ID はプロトコル固有であり、プロトコル間で共有することはできません。TCP SDK には TCP グループ ID を、HTTP SDK には HTTP グループ ID を作成してください。

  • TCP クライアントと HTTP クライアントは、互いにメッセージを交換できます。ただし、HTTP は XML シリアル化を使用するため、メッセージのプロパティ、内容、タグ、キーは XML の仕様に準拠している必要があります。準拠していないメッセージは Base64 でエンコードしてください。

    説明

    XML の仕様については、「XML 構文」をご参照ください。XML を検証するには、xml_validator などのサードパーティツールを使用してください。

  • パブリックエンドポイントとプライベートエンドポイントは、すべてのリージョンで TCP と HTTP の両方で利用できます。本番ワークロードでは、Virtual Private Cloud (VPC) を介して ApsaraMQ for RocketMQ にアクセスしてください。クロスリージョンアクセス、オンプレミスアクセス、または Cloud Enterprise Network (CEN) が利用できない場合のインターネットアクセスには、パブリックエンドポイントを使用してください。パブリックエンドポイントのトラフィックには、アウトバウンドインターネットトラフィック料金が発生します。詳細については、「インターネットトラフィックの料金詳細」をご参照ください。