ApsaraMQ for RocketMQ では、リソースクォータ、インスタンスタイプ、および関連するパラメーターに使用制限があります。ApsaraMQ for RocketMQ を使用する場合は、アプリケーションエラーを防ぐため、該当する使用制限を超えないでください。
パラメーターの制限
次のパラメーターの制限は固定です。無効な文字や過剰な長さによるエラーを防ぐため、これらの仕様に従ってください。
パラメーター | 値 | 説明 |
インスタンス名 |
| なし。 |
トピック名 |
トピック名には、次の予約文字、特殊なプレフィックス、または特殊なサフィックスを使用しないでください。 | トピック名には短く一般的な文字を使用し、解析エラーの原因となる特殊文字は避けてください。名前が長すぎると、メッセージ操作が拒否される場合があります。 |
LiteTopic 名 |
| LiteTopic 名には短く一般的な文字を使用し、解析エラーの原因となる特殊文字は避けてください。名前が長すぎると、メッセージ操作が拒否される場合があります。 |
LiteTopic の Time-to-Live (TTL) |
| 指定した TTL 期間中に LiteTopic にメッセージが書き込まれない場合、LiteTopic は期限切れになり、自動的に削除されます。-1 は LiteTopic が期限切れにならないことを意味します。このパラメーターは、メッセージタイプが Lite の場合にのみ設定できます。 |
コンシューマーグループ名 |
コンシューマーグループ名には、次の予約文字または予約済みプレフィックスを使用しないでください。 | なし。 |
インスタンスの備考 |
| なし。 |
トピックの備考 | ||
コンシューマーグループの備考 | ||
ACL 認証情報 |
| なし。 |
リクエストタイムアウト |
| リクエストタイムアウトは、同期呼び出しが完了するまでクライアントが待機する時間を指定します。長時間のスレッドブロッキングを避けるため、アプリケーションに適した値を設定してください。 |
メッセージサイズ | 最大:4 MB。 この制限はメッセージ本文にのみ適用され、圧縮は含まれません。 | 大きなファイルの転送を避けるため、メッセージを圧縮し、ペイロードサイズを制御できます。メッセージがサイズ制限を超える場合は、メッセージを分割するか、OSS を使用してメッセージ URL を転送してください。 |
カスタムメッセージプロパティ |
次の予約済みプロパティキーは、カスタムプロパティキーとして使用しないでください。 | なし。 |
MessageGroup |
| MessageGroup は、順序メッセージのグループ識別子です。通常、注文 ID やユーザー ID など、順序どおりに処理する必要があるメッセージグループの識別子として設定されます。 |
メッセージ送信のリトライ |
| クライアント SDK は、アプリケーションからは見えない組み込みポリシーに基づいて、メッセージ送信のリトライを自動的に処理します。ビジネススレッドのブロックを避けるため、この値を高く設定しすぎないでください。 最大回数までリトライしてもメッセージ送信に失敗する場合は、信頼性を確保するため、アプリケーション側でフォールバックメカニズムを実装する必要があります。 |
メッセージ消費のリトライ |
| 必要に応じて適切な値を設定できます。リトライによって無限ループが発生しないようにしてください。リトライ回数が多すぎると、システムの負荷が大幅に増加する可能性があります。 |
トランザクション解決チェック間隔 |
| この間隔は、例外または再起動によってコミットされなかった半トランザクションメッセージのステータスを、プロデューサークライアントが確認する頻度を決定します。 確認頻度が高いとシステムパフォーマンスが低下する可能性があるため、この間隔を短くしすぎないでください。 |
半トランザクションメッセージの初回チェック時刻 |
| なし。 |
半トランザクションメッセージの最大タイムアウト |
| システムの再起動または例外によって半トランザクションメッセージがコミットされない場合、プロデューサークライアントは指定したトランザクション解決チェック間隔でステータスを確認します。最大タイムアウト期間を過ぎても結果が返されない場合、半トランザクションメッセージは強制的にロールバックされます。 トランザクション例外を回避するため、このメトリックを監視することを推奨します。 |
スケジュール済みメッセージの最大遅延 |
| スケジュール済みメッセージの遅延は、時間単位で設定できます。長い遅延は避けてください。 |
PushConsumer の消費タイムアウト |
| PushConsumer の消費タイムアウトは、ApsaraMQ for RocketMQ サーバーによって制御されます。 コンシューマーがこのタイムアウト内にメッセージを処理しない場合、システムはメッセージの消費が失敗したとみなし、リトライをトリガーします。これにより、少数の重複メッセージが発生する場合があります。 |
PushConsumer のローカルキャッシュ |
| コンシューマータイプが PushConsumer の場合、クライアント SDK は、コンシューマーのスループットとパフォーマンスを向上させるために、一部のメッセージをローカルにキャッシュします。キャッシュされるメッセージの数とサイズは、システムメモリの制限を超えないようにする必要があります。 |
PushConsumer のリトライ間隔 |
| なし。 |
PushConsumer の消費の同時実行数 |
| なし。 |
メッセージ取得の最大バッチサイズ |
| このパラメーターは、コンシューマーが 1 回でサーバーから取得できるメッセージ数の上限を指定します。一度に取得するメッセージが多すぎると、消費に失敗した場合に多数の重複メッセージが発生する可能性があります。 |
SimpleConsumer の最大可視性タイムアウト |
| この期間は、想定されるメッセージ処理時間とリトライ間隔を合わせた時間よりも少し長めに設定してください。 |
コンシューマーのロングポーリングタイムアウト | 値の範囲:最小:5 秒。最大:20 秒。 指定された範囲内でこの値をカスタマイズできます。 | ロングポーリングでは、サーバーに利用可能なメッセージがない場合、クライアントからのリクエストは、メッセージが到着するかタイムアウトするまで保留されます。 この方法により、空のポーリングリクエストが減少し、特にメッセージ量が少ない場合に、クライアントとサーバーの双方の負荷が低下します。 |
サブスクリプション | フィルター式の長さの制限:4,000 文字 (TAG フィルターおよび SQL フィルターを含む)。 | サブスクリプションの詳細については、「Subscription」をご参照ください。 |
リソースクォータ
ApsaraMQ for RocketMQ は、本番環境の安定性を確保するために、秒間クエリ数 (QPS) や同時実行数などのメトリクスを制限します。これらのクォータは、ほとんどのシナリオで十分です。これらのクォータがお客様のビジネス要件を満たさない場合は、ApsaraMQ for RocketMQ テクニカルサポートに支援を依頼してください。
制限 | 値 | 説明 | |
サブスクリプションおよび従量課金インスタンス | サーバーレスインスタンス | ||
リージョンあたりのインスタンス数 | すべてのタイプを合計して最大 1,000 インスタンス。 | ||
インスタンスあたりのメッセージの送受信 TPS | 購入したインスタンスタイプによって決まります。具体的な制限については、「Instance type limits」をご参照ください。 | 自動スケーリング。 | メッセージの送受信 TPS は、インスタンスの処理性能を示します。実際の TPS がインスタンスタイプの制限を超えると、インスタンスはスロットリングされます。速やかにインスタンスタイプをアップグレードしてください。 |
メッセージ保持期間 |
|
| ストレージコストの許容範囲内で、メッセージ保持期間をできるだけ長く設定してください。保持期間を長くすると、トラブルシューティングやメッセージの再生に充てられる時間が増えます。 |
コンシューマーグループあたりのインフライトメッセージ数 | 最大: 2,500。 | 最大: 2,500。 | コンシューマーグループ内のインフライトメッセージ数が多すぎると、コンシューマーの応答が遅くなる場合があります。この指標を監視し、原因を速やかに特定して対処してください。 |
単一のコンシューマーがサブスクライブできる LiteTopic 数 | 最大: 2,000。 | 最大: 2,000。 | 単一のコンシューマーがサブスクライブする LiteTopic 数が多すぎると、クライアントのパフォーマンスが低下する場合があります。この制限の引き上げをリクエストするには、チケットを送信してください。 |
各 LiteTopic の最大消費 TPS | 200。 | 200。 | 1 つのトピック配下に、数十万~数百万の LiteTopic を作成できます。トピック全体の消費 TPS には影響しません。 |
制限事項
フルマネージドなサービスとしてのプラットフォーム (PaaS) である Message Queue for RocketMQ は、システムの安定性を確保するため、オープンソースの Apache RocketMQ で利用可能な一部の高リスクな操作や機能を制限しています。特定の要件がある場合は、Message Queue for RocketMQ のテクニカルサポートにお問い合わせください。
制限 | 説明 |
Apache RocketMQ 管理ツールとの互換性 | Message Queue for RocketMQ は、インスタンス、トピック、またはグループを管理するための Apache RocketMQ Admin API およびコマンドラインインターフェイス (CLI) をサポートしていません。 プログラムでリソースを管理する必要がある場合は、多言語 SDK と CLI をサポートする Alibaba Cloud OpenAPI を使用してください。 |
Apache RocketMQ Request-Reply メッセージ | Message Queue for RocketMQ は、Apache RocketMQ Request-Reply メッセージの送信をサポートしていません。 |
Apache RocketMQ ストリーミングコンポーネント | Message Queue for RocketMQ は、マネージドな Apache RocketMQ ストリーミングコンポーネントを提供していません。お客様は、Alibaba Cloud 環境にご自身でこのコンポーネントをデプロイするか、Message Queue for RocketMQ のデータ統合機能を使用して、軽量なデータ統合とコンピューティングを行うことができます。 |
Apache RocketMQ MQTT コンポーネント | Message Queue for RocketMQ は、マネージドな Apache RocketMQ MQTT コンポーネントを提供していません。より高機能な Alibaba Cloud の ApsaraMQ for MQTT サービスの使用を推奨します。 |
Apache RocketMQ EventBridge コンポーネント | Message Queue for RocketMQ は、マネージドな Apache RocketMQ EventBridge コンポーネントを提供していません。より高機能な Alibaba Cloud の EventBridge サービスの使用を推奨します。 |
Apache RocketMQ-Connector コンポーネント | Message Queue for RocketMQ は、マネージドな Apache RocketMQ-Connector コンポーネントを提供していません。Message Queue for RocketMQ のデータ統合機能を使用して、データの入出力を行うことができます。 |
インスタンスタイプの制限
Standard Edition、Single Node Edition、および Professional Edition インスタンスは、エラスティック TPS をサポートしていません。突発的なトラフィックの急増が仕様上の制限を超えた場合にインスタンスがスロットリングされるのを防ぐため、事前にリソース使用量を計画してください。
インスタンスあたりのトピックおよびグループのクォータは、ほとんどの大規模な本番環境のユースケースに十分です。ベストプラクティスとして、部門またはドメインに基づいてビジネスサービスを異なるインスタンスに分離することを推奨します。この方法により、安定性とリソース管理が向上します。
メッセージの TPS 仕様は、標準メッセージサイズ 4 KB をベンチマークとして、送受信される通常メッセージの総数に基づいています。高度なメッセージ機能を使用する場合や大きなメッセージを送信する場合は、乗数が適用されます。TPS の計算方法の詳細については、「Calculation specifications」をご参照ください。
送受信されるメッセージの実際の TPS が、購入したインスタンスタイプの上限を超えた場合:
エラスティック TPS が有効な場合、TPS がプロビジョニング済みのエラスティック範囲内であれば、インスタンスは正常に動作します。基本仕様を超える使用量は、従量課金で請求されます。TPS が最大エラスティック容量を超えた場合、インスタンスはスロットリングされます。
非サーバーレスインスタンスにおけるエラスティック TPS の課金の詳細については、「Elastic TPS fees」をご参照ください。サーバーレスインスタンスにおけるエラスティック TPS の課金の詳細については、「Serverless elastic TPS fees」をご参照ください。
お使いのインスタンスがエラスティック TPS をサポートしていない場合、またはこの機能が有効でない場合、Message Queue for RocketMQ はインスタンスをスロットリングします。
重要スロットリングがトリガーされると、サーバーは新しい送信リクエストに対して即座に失敗レスポンスを返します。リクエストはキューイングもバッファリングもされず、即座に失敗します。
クライアントアプリケーションにリトライメカニズムが設定されていない場合、スロットリングによる失敗レスポンスを受け取ったメッセージは事実上失われます。メッセージの信頼性を確保するため、クライアント側で一時的なスロットリングに対応するための送信リトライ戦略を設定してください。ApsaraMQ for RocketMQ SDK を使用する場合は、組み込みのリトライポリシーを有効にし、適切な最大リトライ回数を設定してください。
Message Queue for RocketMQ インスタンスへの過剰なクライアント接続数は、サーバーリソースを大幅に消費し、安定性に深刻な影響を及ぼす可能性があります。そのため、クライアント接続数がインスタンスタイプの制限を超えないようにしてください。
サーバーレスシリーズ インスタンス
同時オンラインクライアント数:オンラインのプロデューサーとコンシューマーの総数。それぞれを 1 つのクライアントとしてカウントします。
リソース数:トピックとコンシューマーグループの総数。
デプロイメントアーキテクチャ | キャパシティーモード | TPS 範囲 | 最大同時クライアント数 | 無料クライアントクォータ | 最大リソース数 | 無料リソースクォータ | 最大 LiteTopic 数 |
共有 | 累積使用量 | すべて | 5,000 | 500 | 3,000 | 100 | / |
リザーブド + Elastic | [2,000, 20,000] | 5,000 | 1,000 | 3,000 | 200 | ||
(20,000, 50,000] | 8,000 | 2,000 | 3,000 | 200 | |||
(50,000, 100,000] | 10,000 | 3,000 | 3,000 | 200 | |||
(100,000, 200,000] | 20,000 | 5,000 | 3,000 | 200 | |||
専用 | リザーブド + Elastic | 5,000 | 3,000 | 2,000 | 3,000 | 300 | 300,000 |
10,000 | 6,000 | 4,000 | 4,000 | 300 | 500,000 | ||
15,000 | 8,000 | 6,000 | 6,000 | 500 | 800,000 | ||
[20,000, 50,000] | 10,000 | 8,000 | 6,000 | 500 | 1,200,000 | ||
(50,000, 100,000] | 20,000 | 10,000 | 6,000 | 500 | 3,000,000 | ||
(100,000, 200,000] | 40,000 | 20,000 | 8,000 | 1,000 | 3,600,000 | ||
(200,000, 300,000] | 80,000 | 40,000 | 10,000 | 1,500 | 5,000,000 | ||
(300,000, 500,000] | 100,000 | 50,000 | 16,000 | 2,000 | 6,500,000 | ||
(500,000, 1,000,000] | 200,000 | 100,000 | 40,000 | 3,000 | 11,600,000 |
非サーバーレス (サブスクリプションおよび従量課金) インスタンス
Standard Edition
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (ops/sec) | 最大バースト TPS (ops/sec) | 最大接続数 | エグレス帯域幅 (Mbps) | 無料トピッククォータ | 最大トピッククォータ | 最大コンシューマーグループ数 | 最大 LiteTopics |
シングルノード版 (販売終了) | rmq.s1.micro | 500 | 該当なし このインスタンスタイプはバースト弾力性をサポートしていません。 | 2,000 | 1~1,000 カスタマイズ可能。 | 100 | 100 | 1,000 | / |
クラスター高可用性版 | rmq.s2.2xlarge | 2,000 | 4,000 | 300 | 50,000 | ||||
rmq.s2.4xlarge | 4,000 | 4,000 | 150,000 | ||||||
rmq.s2.6xlarge | 6,000 | 6,000 | 500 | 300,000 |
最上位の Standard Edition インスタンス (rmq.s2.6xlarge) のトピックおよびコンシューマーグループのクォータがビジネス要件に対して不足している場合は、Professional Edition にアップグレードし、適切なインスタンスタイプを選択してください。
一部の初期の Standard Edition インスタンス仕様 (例:rmq-cn-aic46utt204) は、新規購入では利用できなくなりました。これらの仕様は、既存インスタンスのメンテナンスと更新のみをサポートします。新しいインスタンスを購入する必要がある場合は、現在利用可能なインスタンス仕様を選択してください。
Professional Edition
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (ops/sec) | 最大バースト TPS (ops/sec) | 最大接続数 | エグレス帯域幅 (Mbps) | 無料トピッククォータ | 最大トピッククォータ | 最大コンシューマーグループ数 | 最大 LiteTopics |
シングルノード版 (販売終了) | rmq.p1.micro | 500 | 該当なし このインスタンスタイプはバースト弾力性をサポートしていません。 | 2,000 | 1~1,000 カスタマイズ可能。 | 150 | 150 | 1,500 | / |
クラスター高可用性版 | rmq.p2.4xlarge | 4,000 | 2,000 | 4,000 | 500 | 2,000 | 150,000 | ||
rmq.p2.6xlarge | 6,000 | 3,000 | 6,000 | 300,000 | |||||
rmq.p2.10xlarge | 10,000 | 5,000 | 10,000 | 1,000 | 500,000 | ||||
rmq.p2.20xlarge | 20,000 | 10,000 | 10,000 | 800,000 | |||||
rmq.p2.30xlarge | 30,000 | 15,000 | 12,000 | 2,000 | 1,000,000 | ||||
rmq.p2.40xlarge | 40,000 | 20,000 | 12,000 | 1,200,000 | |||||
rmq.p2.50xlarge | 50,000 | 20,000 | 14,000 | 1,400,000 | |||||
rmq.p2.100xlarge | 100,000 | 30,000 | 26,000 | 2,200,000 | |||||
rmq.p2.120xlarge | 120,000 | 40,000 | 30,000 | 2,700,000 | |||||
rmq.p2.150xlarge | 150,000 | 50,000 | 38,000 | 3,300,000 | |||||
rmq.p2.200xlarge | 200,000 | 60,000 | 50,000 | 4,500,000 |
rmq.p2.10xlarge 以上の Professional Edition インスタンスのトピックおよびコンシューマーグループのクォータがビジネス要件に対して不足している場合は、チケットを送信してください。
Platinum Edition
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (ops/sec) | 最大バースト TPS (ops/sec) | 最大接続数 | エグレス帯域幅 (Mbps) | 無料トピッククォータ | 最大トピッククォータ | 最大コンシューマーグループ数 | 最大 LiteTopics |
クラスター高可用性版 | rmq.u2.10xlarge | 10,000 | 5,000 | 10,000 | 1~1,000 カスタマイズ可能。 | 200 | 3,000 | 4,000 | 600,000 |
rmq.u2.20xlarge | 20,000 | 10,000 | 10,000 | 800,000 | |||||
rmq.u2.30xlarge | 30,000 | 15,000 | 12,000 | 1,000,000 | |||||
rmq.u2.40xlarge | 40,000 | 20,000 | 10,000 | 1,200,000 | |||||
rmq.u2.50xlarge | 50,000 | 20,000 | 14,000 | 1,400,000 | |||||
rmq.u2.60xlarge | 60,000 | 22,000 | 16,000 | 1,600,000 | |||||
rmq.u2.70xlarge | 70,000 | 24,000 | 18,000 | 1,700,000 | |||||
rmq.u2.80xlarge | 80,000 | 26,000 | 20,000 | 1,800,000 | |||||
rmq.u2.90xlarge | 90,000 | 28,000 | 24,000 | 2,000,000 | |||||
rmq.u2.100xlarge | 100,000 | 30,000 | 26,000 | 2,200,000 | |||||
rmq.u2.120xlarge | 120,000 | 40,000 | 30,000 | 2,700,000 | |||||
rmq.u2.150xlarge | 150,000 | 50,000 | 38,000 | 3,300,000 | |||||
rmq.u2.200xlarge | 200,000 | 60,000 | 50,000 | 4,500,000 | |||||
rmq.u2.250xlarge | 250,000 | 70,000 | 51,000 | 5,600,000 | |||||
rmq.u2.300xlarge | 300,000 | 80,000 | 52,000 | 6,300,000 | |||||
rmq.u2.350xlarge | 350,000 | 90,000 | 53,000 | 7,500,000 | |||||
rmq.u2.400xlarge | 400,000 | 100,000 | 54,000 | 9,300,000 | |||||
rmq.u2.450xlarge | 450,000 | 120,000 | 60,000 | 10,400,000 | |||||
rmq.u2.500xlarge | 500,000 | 140,000 | 66,000 | 11,600,000 | |||||
rmq.u2.550xlarge | 550,000 | 160,000 | 72,000 | 12,800,000 | |||||
rmq.u2.600xlarge | 600,000 | 200,000 | 80,000 | 14,000,000 | |||||
rmq.u2.1000xlarge | 1,000,000 | 300,000 | 134,000 | 23,200,000 |
Platinum Edition インスタンスのトピックおよびコンシューマーグループのクォータが、それでもビジネス要件に対して不足している場合は、チケットを送信してください。