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

ApsaraMQ for RocketMQ:概要

最終更新日:Sep 23, 2024

ApsaraMQ for RocketMQは、複数のプログラミング言語のTCPクライアントSDKとHTTPクライアントSDKをサポートしています。 このトピックでは、TCPクライアントSDKとHTTPクライアントSDKの違いについて説明します。 このトピックでは、TCPクライアントSDKおよびHTTPクライアントSDKの使用方法についても説明します。

互換性の説明

次の表は、ApsaraMQ for RocketMQブローカーバージョンとクライアントSDKバージョンの互換性を示しています。

インスタンスバージョン

クライアントバージョン

互換性

制限事項

ApsaraMQ for RocketMQ 5.xインスタンス

Apache RocketMQ 5.x SDK

互換性あり

ApsaraMQ for RocketMQ 5.xインスタンスのすべての機能がサポートされています。

Apache RocketMQ 4.xおよび3.x SDK

互換性あり

メッセージング機能がサポートされています。 メッセージトレースデータと特定のメトリックは表示できません。

Apache RocketMQ TCPクライアント1.x SDK

重要

ApsaraMQ for RocketMQ 5.xインスタンスには、Apache RocketMQ TCPクライアント2.x SDKを使用してアクセスすることはできません。

互換性あり

メッセージング機能がサポートされています。 メッセージトレースデータと特定のメトリックは表示できません。

ApsaraMQ for RocketMQ HTTPクライアントSDK

互換性なし

ApsaraMQ for RocketMQ 5.x SDKはHTTPプロトコルをサポートしていません。

ApsaraMQ for RocketMQ 4.xインスタンス

ApsaraMQ for RocketMQ 5倍SDKs

互換性なし

ApsaraMQ for RocketMQ 5.xインスタンスに対応するSDKを使用してApsaraMQ for RocketMQ 4.xインスタンスにアクセスすることはできません。

Apache RocketMQ 4.xおよび3.x SDK

互換性あり

ApsaraMQ for RocketMQ 4.xインスタンスのすべての機能がサポートされています。

Apache RocketMQ TCPクライアント1.xおよび2.x SDK

互換性あり

Apache RocketMQ HTTPクライアントSDK

互換性あり

TCP

重要

オープンソースSDKは、オープンソースApache RocketMQからApsaraMQ for RocketMQにデータを移行し、コードを変更しない場合にのみ使用されます。 他のシナリオでは、ApsaraMQ for RocketMQが提供するCommercial Edition SDKを使用することを推奨します。 オープンソースSDKと比較して、Commercial Edition SDKはより多くの機能とより高い安定性を提供します。

HTTP

TCPクライアントSDKsとHTTPクライアントSDKsの比較

TCPクライアントSDKsとHTTPクライアントSDKsにはさまざまな機能があります。 ビジネス要件に基づいてプロトコルタイプを選択することを推奨します。

Item

TCP client SDK

HTTP client SDK

Suggestions

TCPクライアントSDKsは、優先オプションとして推奨されます。 次の項目では、TCPクライアントSDKsの利点について説明します。

  • 優れた伝送性能により高い同時実行性が必要なシナリオに適用できます。

  • HTTPクライアントSDKと比較して、より多くのメッセージング機能を提供し、より高い頻度で反復します。

  • HTTPクライアントSDKと比較して、より多くの可観測性メトリックとより包括的なメッセージ蓄積およびリセット機能を提供します。

代替オプションとしてHTTPクライアントSDKsを推奨します。 以下の項目は、HTTPクライアントSDKsの利点を説明しています。

  • TCPクライアントSDKsでサポートされていないプログラミング言語が使用されるシナリオで使用できます。

  • 軽量アクセスと機能が少ないため、単純なシナリオに適用できます。

Normal messages

支持

支持

Ordered messages

支持

支持

Scheduled messages and delayed messages

支持

支持

Transactional messages

支持

支持

Push consumers

支持

不支持

Pull consumers

支持

不支持

Batch consumption

支持

不支持

Broadcasting consumption

支持

不支持

Clustering consumption

支持

支持

Message retry

支持

支持

Query message traces

支持

支持

Dead-letter queues

支持

支持

Reset consumer offsets

支持

不支持

Usage notes

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

  • ApsaraMQ for RocketMQ では、HTTPクライアントとTCPクライアント用に作成されたグループを使用してメッセージを送受信できます。 異なるタイプのクライアントに対して異なるグループを作成する必要があります。 たとえば、TCPクライアントSDKを使用してメッセージを送受信する場合は、TCPクライアント用にのみ作成されたグループを使用する必要があります。

  • メッセージは、TCPクライアントとHTTPクライアントの間で送信できます。 HTTPはXMLシリアル化を使用するため、属性、コンテンツ、タグ、キーなどのメッセージ情報はXML (Extensible Markup Language) ルールに準拠する必要があります。 そうしないと、メッセージの送信または消費に失敗する可能性があります。

    You can use Base64 to encode or decode messages that do not comply with XML rules.

    説明

    XMLルールの詳細については、 「 Extensible Markup Language (XML) 1.0 (Fifth Edition).」をご参照ください。サードパーティのツールxml_validatorを使用して、ビジネス要件に基づいてメッセージがXMLルールに準拠しているかどうかを確認することもできます。 Xml_validatorの詳細については、「 XML Validator」をご参照ください。

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