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