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 の同時消費数 |
| なし。 |
メッセージ取得の最大バッチサイズ |
| このパラメーターは、コンシューマーが一度にサーバーから取得できるメッセージの最大数を指定します。必要に応じて妥当な値を設定してください。一度に取得するメッセージ数が多すぎると、消費に失敗した場合に重複メッセージが多く発生する可能性があります。 |
SimpleConsumer の最大不可視期間 |
| この期間は、想定されるメッセージ処理時間に、想定される再試行間隔を含めた時間よりも少し長めに設定してください。 |
コンシューマーのロングポーリングタイムアウト | 値の範囲:最小:5 秒。最大:20 秒。 指定した範囲内でこの値をカスタマイズできます。 | ロングポーリングでは、サーバーに利用可能なメッセージがない場合、メッセージが到着するかタイムアウトになるまで、クライアントのリクエストが保持されます。 この方法により、空のポーリングリクエストが削減され、特にメッセージ量が少ない場合に、クライアントとサーバーの両方の負荷が軽減されます。 |
サブスクリプション | フィルター式の長さの制限:4,000 文字 (TAG フィルターおよび SQL フィルターを含む)。 | サブスクリプションの詳細については、「サブスクリプション」をご参照ください。 |
リソースクォータ
ApsaraMQ for RocketMQ は、本番環境の安定性を確保するために、秒間クエリ数 (QPS) や同時実行数などのメトリクスを制限しています。これらのクォータは、ほとんどのシナリオで十分です。これらのクォータがお客様のビジネス要件を満たさない場合は、ApsaraMQ for RocketMQ のテクニカルサポートに支援を依頼してください。
制限 | 値 | 説明 | |
サブスクリプションおよび従量課金インスタンス | サーバーレスインスタンス | ||
リージョンあたりのインスタンス数 | 全タイプ合計で最大 1,000 インスタンス | 特記事項はありません。 | |
インスタンスあたりのメッセージ送受信 TPS | 購入したインスタンスタイプによって決まります。具体的な制限については、「インスタンスタイプの制限」をご参照ください。 | 自動スケーリング | メッセージ送受信 TPS は、インスタンスの処理性能を反映します。実際の TPS がインスタンスタイプの制限を超えると、インスタンスはスロットリングされます。速やかにインスタンスタイプをアップグレードしてください。 |
メッセージ保持期間 |
|
| ストレージコストが許す限り、メッセージ保持期間を延長してください。期間が長いほど、トラブルシューティングやメッセージリプレイに多くの時間を確保できます。 |
コンシューマーグループあたりのインフライトメッセージ数 | 最大:2,500 | 最大:2,500 | コンシューマーグループ内のインフライトメッセージ数が多すぎると、コンシューマーの応答が遅くなる可能性があります。このメトリックを監視し、速やかに原因のトラブルシューティングを行ってください。 |
単一のコンシューマーがサブスクライブできる LiteTopic の数 | 最大:2,000 | 最大:2,000 | 単一のコンシューマーで多すぎる LiteTopic をサブスクライブすると、クライアントのパフォーマンスが低下する可能性があります。この制限の引き上げをリクエストするには、チケットを送信してください。 |
各 LiteTopic の最大消費 TPS | 200 | 200 | トピック配下に数十万から数百万の LiteTopic を作成できます。トピック全体の消費 TPS は影響を受けません。 |
制限事項
Message Queue for RocketMQ は、フルマネージドの PaaS (Platform as a Service) として、システムの安定性を確保するために、オープンソース版 Apache RocketMQ の一部の高リスクな操作と機能を制限しています。特定の要件がある場合は、Message Queue for RocketMQ のテクニカルサポートにお問い合わせください。
制限事項 | 説明 |
Apache RocketMQ 管理ツールとの互換性 | Message Queue for RocketMQ は、Apache RocketMQ Admin API やコマンドラインインターフェイス (CLI) によるインスタンス、トピック、グループの管理をサポートしていません。 プログラムからリソースを管理する必要がある場合は、複数言語の SDK と CLI をサポートしている Alibaba Cloud OpenAPI を使用してください。 |
Apache RocketMQ のリクエスト/リプライメッセージ | Message Queue for RocketMQ は、Apache RocketMQ のリクエスト/リプライメッセージの送信をサポートしていません。 |
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 の計算方法の詳細については、「計算仕様」をご参照ください。
メッセージ送受信の実際の TPS が、購入したインスタンスタイプの上限を超えた場合:
エラスティック TPS が有効な場合、TPS がプロビジョニングされた Elastic 範囲内である限り、インスタンスは正常に動作します。基本仕様を超える使用量は、従量課金で請求されます。TPS がエラスティック TPS の最大容量を超えると、インスタンスはスロットリングの対象となります。
非サーバーレスインスタンスのエラスティック TPS の課金の詳細については、「Elastic TPS 料金」をご参照ください。サーバーレスインスタンスのエラスティック TPS の課金の詳細については、「サーバーレスのElastic 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 |
非サーバーレス (サブスクリプションおよび従量課金) インスタンス
Standard Edition
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (ops/秒) | 最大バースト TPS (ops/秒) | 最大接続数 | 下り帯域幅 (Mbps) | 無料トピッククォータ | 最大トピッククォータ | 最大コンシューマーグループ数 | 最大 LiteTopics 数 |
Single Node Edition (販売終了) | rmq.s1.micro | 500 | 該当なし このインスタンスタイプは、バースト弾力性をサポートしていません。 | 2,000 | 1~1,000 カスタマイズ可能。 | 100 | 100 | 1,000 | / |
Cluster High-availability Edition | 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 にアップグレードし、適切なインスタンスタイプを選択してください。
Professional Edition
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (ops/秒) | 最大バースト TPS (ops/秒) | 最大接続数 | 下り帯域幅 (Mbps) | 無料トピッククォータ | 最大トピッククォータ | 最大コンシューマーグループ数 | 最大 LiteTopics 数 |
Single Node Edition (販売終了) | rmq.p1.micro | 500 | 該当なし このインスタンスタイプは、バースト弾力性をサポートしていません。 | 2,000 | 1~1,000 カスタマイズ可能。 | 150 | 150 | 1,500 | / |
Cluster High-availability Edition | 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 以上の Professional Edition インスタンスのトピックおよびコンシューマーグループのクォータがビジネスニーズに不十分な場合は、チケットを送信してください。
Platinum Edition
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (ops/秒) | 最大バースト TPS (ops/秒) | 最大接続数 | 下り帯域幅 (Mbps) | 無料トピッククォータ | 最大トピッククォータ | 最大コンシューマーグループ数 | 最大 LiteTopics 数 |
Cluster High-availability Edition | 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 | 10,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 |
Platinum Edition インスタンスのトピックおよびコンシューマーグループのクォータが、それでもビジネスニーズに不十分な場合は、チケットを送信してください。