このトピックでは、ApsaraMQ for RocketMQ がサポートする SDK のバージョンについて説明します。
SDK バージョン
次の表に、ApsaraMQ for RocketMQ の各 SDK バージョンがサポートする機能を示します。
次の表では、✅ はその特徴がサポートされていることを示し、❌ はその特徴がサポートされていないことを示します。
項目 | ||||||
プロトコル | gRPC プロトコル v2 | Remoting プロトコル | Remoting プロトコル | Remoting プロトコル | gRPC プロトコル v1 | HTTP プロトコル |
アクセス可能なインスタンス | 5.x シリーズインスタンス |
|
|
| 4.x シリーズインスタンス | 4.x シリーズインスタンス |
推奨事項 | 5.x gRPC SDK を使用します。
|
|
| |||
通常メッセージ、順序メッセージ、トランザクションメッセージ、スケジュールメッセージの送信 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
並行消費 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
メッセージの順序付き消費 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
ブロードキャストコンシューム | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
ストリーム消費 (Flink などへの接続) | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
メッセージトレース | ✅ | ✅ | バージョン 4.5.2 以降でサポート | ✅ | ✅ | ❌ |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
✅ | 5.x シリーズインスタンスでのみサポート | ❌ | ❌ | ❌ | ❌ | |
バッチ送信 | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
制限事項
同じコンシューマーグループ内の異なるコンシューマーは、同じプロトコルをサポートするクライアントを使用する必要があります。
同じコンシューマーグループに対して、Remoting プロトコル SDK から gRPC プロトコル SDK へのグレースケールアップグレードを実行する場合は、次の点にご注意ください。
順序メッセージを配信するコンシューマーグループのアップグレードはサポートされていません。
同時消費を行うコンシューマーグループは、スムーズなアップグレードをサポートしています。アップグレード中に少数のメッセージが重複する可能性があります。
同じ順序 Topic にメッセージを送信するには、すべてのプロデューサークライアントが同じプロトコルを使用する必要があります。プロトコルは、Remoting プロトコルまたは gRPC プロトコルのいずれかである必要があります。
順序メッセージを配信するコンシューマーグループの場合、次の手順を実行すると、メッセージの順序消費のためのコンシューマーオフセットがロールバックされる可能性があります。
順序メッセージのコンシューマーグループが、最初に Remoting プロトコル SDK を使用します。
次に、SDK を gRPC プロトコル SDK にアップグレードします。
SDK を Remoting プロトコル SDK にロールバックします。
RocketMQ ONS TCP 2.x SDK は、一部のリージョンでのみ利用可能です。詳細については、「制限事項」をご参照ください。
RocketMQ 5.x gRPC SDK
プロトコル | 言語 | リファレンス |
gRPC プロトコル v2 | Java SDK | |
C# SDK | ||
Go SDK | ||
Python SDK | ||
C++ SDK |
RocketMQ 5.x Remoting SDK
プロトコル | 言語 | リファレンス |
Remoting プロトコル | Java SDK |
RocketMQ 4.x/3.x SDK
プロトコル | 言語 | リファレンス |
Remoting プロトコル | Java SDK | |
C++ SDK |
RocketMQ ONS TCP 1.x SDK
プロトコル | 言語 | リファレンス |
Remoting プロトコル | Java SDK | |
C++ SDK | ||
.NET SDK |