ApsaraMQ for RabbitMQ は、クラスター、文字数、およびピーク時の秒間トランザクション数 (TPS) に制限を設けています。 プログラムエラーを回避するため、ApsaraMQ for RabbitMQ を使用する際は、これらの制限を超えないようにしてください。
クラスターの制限
この表の制限は、最新バージョンのインスタンスに適用されます。
お使いのインスタンスの制限がこの表の内容と一致しない場合、インスタンスが最新バージョンではない可能性があります。 詳細については、チケットを起票してください。 制限の調整には、以下の制約が適用されます。
レガシーアーキテクチャのインスタンスは制限の調整をサポートしていません。ID が数字のみで構成されているインスタンス、または VPC エンドポイントが
mq.amqp.aliyuncs.comで終わらないインスタンスは、以下に記載されている制限の調整をサポートしていません。
項目 | サーバーレスインスタンス | サブスクリプションインスタンス | |||
共有 | 専用 | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | |
容量・弾性トラフィック課金/メッセージングリクエスト課金 | 容量・弾性トラフィック課金 | ||||
インスタンスあたりの vhost | 200 | 2,000 | 200 | 4,096 | 200 |
インスタンスあたりのエクスチェンジ | 6,000 | 10,000 | 6,000 | 80,000 | 6,000 |
インスタンスあたりのバインディング | 20,000 | 20,000 | 20,000 | なし | 20,000 |
インスタンスあたりのキュー | 6,000 | 10,000 | 6,000 | 80,000 | 6,000 |
インスタンスあたりの接続 | 10,000 | 20,000 | インスタンスタイプに基づいて購入します。 各インスタンスには 2,000 接続の無料クォータがあります。 最大は 10,000 です。 | インスタンスタイプに基づいて購入します。 各インスタンスには 50,000 接続の無料クォータがあります。 最大は 100,000 です。 | キュー数 × 4。 インスタンスあたりの接続数は 1,000~5,000 です。 |
エクスチェンジバインディングあたりのキュー | 256 | 256 チケットを起票してカスタムクォータをリクエストしてください。 カスタマイズ後、インスタンスを共有クラスターにダウングレードすることはできません。 | 256 | 256 カスタムクォータをご希望の場合は、Alibaba Cloud のテクニカルサポートにお問い合わせください。 | 256 |
キューあたりのコンシューマー | キュー数 × 4。 キューあたりのコンシューマー数は 800~5,000 です。 | なし | キュー数 × 4。 キューあたりのコンシューマー数は 800~5,000 です。 | なし | キュー数 × 4。 キューあたりのコンシューマー数は 50~5,000 です。 |
接続あたりのチャネル | 2,000 | 3,000 | 接続あたりのチャネル数は、[キュー数, 2048] のうち小さい方の値です。
| 3,000 | 接続あたりのチャネル数は、64 または キュー数 のいずれかです。
|
メッセージサイズ | 10 MB | 50 MB | 10 MB (注:中国 (青島)、日本 (東京)、中国 (フフホト) リージョンのインスタンス、および他のリージョンで 2025 年 5 月 1 日より前に作成されたインスタンスの場合、制限は 1 MB です。) | 50 MB (注:中国 (青島)、日本 (東京)、中国 (フフホト) リージョンのインスタンス、および他のリージョンで 2025 年 5 月 1 日より前に作成されたインスタンスの場合、制限は 3 MB です。) | 64 KB |
遅延メッセージの最大遅延時間 | 7 日 | 7 日 チケットを起票してカスタムクォータをリクエストしてください。 カスタマイズ後、インスタンスを共有クラスターにダウングレードすることはできません。 | 7 日 | 7 日 カスタマイズをご希望の場合は、Alibaba Cloud のテクニカルサポートにお問い合わせください。 | 24 時間 |
最大メッセージ保持期間 | 3 日 | 3 日 | 3 日 | 3 日 | 3 日 |
最大配信試行回数 | 16 | 16 | 16 | 64 | 16 |
最大:3 時間 デフォルト:5 分 | 最大:12 時間 デフォルト:30 分 | 最大:3 時間 デフォルト:5 分 | 最大:12 時間 デフォルト:30 分 | 最大:10 分 デフォルト:1 分 | |
ApsaraMQ for RabbitMQ は、以下の固定制限を設けています。
ApsaraMQ for RabbitMQ は、メッセージヘッダーフレーム (
channel_max_frame_sizeパラメーターに対応する) のサイズを 32 KB に制限します。 この制限は調整できません。 ヘッダーフレームサイズの制限を超えないように、大きなメッセージ内容はヘッダーフレームではなくメッセージ本文に含めてください。チャネルあたりの最大
basicQos値: ApsaraMQ for RabbitMQ は、チャネルあたりの最大basicQos値 (プリフェッチ数とも呼ばれます) を 100 に制限します。この QoS 制限は調整できません。これにより、メモリプレッシャーを引き起こす可能性のある未確認メッセージの過剰な蓄積を防ぎ、システムの安定性とパフォーマンスを確保できます。
文字数制限
項目 | 制限 |
キュー名 |
|
エクスチェンジ名 |
|
Vhost 名 |
|
バインディングキー |
|
コンシューマー タグ |
|
メッセージ ID |
|
レート制限のしきい値
TPS の計算方法については、「サーバーレスインスタンスエディションの計算ルール」および「サブスクリプションインスタンスエディションの TPS 計算ルール」をご参照ください。
TPS がレート制限された場合の問題解決方法については、「インスタンスの合計 TPS がレート制限された場合の解決策」および「単一ノードの TPS がレート制限された場合の解決策」をご参照ください。
合計 TPS
インスタンスエディション | サーバーレスインスタンス | サブスクリプションインスタンス | ||||||
仕様 | 共有 | 専用 | 弾性 TPS 無効 | 弾性 TPS 有効 | ||||
容量・弾性トラフィック課金/メッセージングリクエスト課金 | 容量・弾性トラフィック課金 | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | |
レート制限のしきい値 | 最大 50,000/秒 | ベース仕様のピーク TPS の 2 倍 | ベース仕様のピーク TPS | ベース仕様のピーク TPS の 2 倍、最大 50,000/秒 | ベース仕様のピーク TPS の 2 倍、最大 50,000/秒 | ベース仕様のピーク TPS の 1.5 倍 | ||
単一ノードの SendMessage
サーバーは、インスタンス内の各バックエンドサービスノードの SendMessage TPS を制限します。 しきい値は以下のとおりです。
項目 | サーバーレスインスタンス | サブスクリプションインスタンス | ||||
共有 | 専用 | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | ||
メッセージングリクエスト課金 | 容量・弾性トラフィック課金 | 容量・弾性トラフィック課金 | ||||
レート制限のしきい値 | 25,000/秒 | 25,000/秒 | なし | 25,000/秒 | なし | 25,000/秒 |
単一 API コール
項目 | API | サーバーレスインスタンス | サブスクリプションインスタンス | |||
共有 | 専用 | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | ||
容量・弾性トラフィック課金/メッセージングリクエスト課金 | 容量・弾性トラフィック課金 | |||||
インスタンスあたりのキューのパージ |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのエクスチェンジ作成 |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのエクスチェンジ削除 |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのキュー作成 |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのキュー削除 |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのバインディング作成 |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのバインディング削除 |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのメッセージのリカバリ |
| 500 TPS | なし | 500 TPS | なし | 500 TPS |
インスタンスあたりのメッセージの再キューイング |
| 20 TPS | なし | 20 TPS | なし | 20 TPS |
よくある質問
Enterprise Edition はキュー制限の個別拡張をサポートしていますか。
いいえ。 Enterprise Edition インスタンスあたりの最大キュー数は 6,000 です。 この制限はエディションの仕様であり、現在のエディション内で個別に拡張することはできません (たとえば、個別に 10,000 に引き上げることはできません)。
ビジネスでより多くのキューが必要な場合は、次の代替案を検討してください。
キュー使用量の最適化:可能な場合はキューを統合し、Topic Exchange のルーティング戦略を使用してキューの総数を減らすか、コンシューマーがなく使用されなくなったキューをクリーンアップします。
インスタンス間でのビジネスの分割:ワークロードが許す場合は、ビジネスの一部を新しい Enterprise Edition インスタンスに分散して、キューの使用量を複数のインスタンスに分散させます。
"The channelMax limit is reached" エラーの対処方法
原因:単一接続におけるチャネル数が、現在のインスタンスエディションの channelMax 制限に達しました。
解決策:
現在の ApsaraMQ for RabbitMQ インスタンスエディション (Professional Edition、Enterprise Edition、Enterprise Platinum Edition など) を確認します。
クラスターの制限テーブルの 接続あたりのチャネル行を参照して、お使いのインスタンスエディションの特定の channelMax 値を確認します。
より多くの同時チャネル数をサポートするために、インスタンスエディションをアップグレードする必要があるかどうかを評価してください。
キーワード "channelMax"、"limit is reached"、"pay callback error"、"channel count limit" はすべてこのエラーに関連しています。 これらの症状のいずれかが発生した場合は、上記の手順に従って問題を診断し、解決してください。
ApsaraMQ for RabbitMQ は 15672 管理ポートの有効化またはカスタム設定をサポートしていますか。
いいえ。 ApsaraMQ for RabbitMQ は 15672 管理ポートの有効化をサポートしておらず、カスタム設定もサポートしていません。 デフォルトでは、AMQP プロトコル通信用にポート 5672 のみが公開されています。 この制限は、サーバーレスインスタンスやサブスクリプションインスタンスを含む、すべてのインスタンスタイプに適用されます。
ApsaraMQ for RabbitMQ インスタンスを別のリソースグループに移行できますか。
いいえ。 ApsaraMQ for RabbitMQ インスタンスは現在リソースグループ機能をサポートしておらず、コンソールにはリソースグループを設定するためのエントリポイントは提供されていません。
ApsaraMQ for RabbitMQ インスタンスの購入には、いくつの vSwitch IP アドレスが必要ですか。
インスタンスを購入する場合、通常は 2つの vSwitch の設定が必要です。ネットワークプランニングの一環として、各 vSwitch には少なくとも 20 個の予約済み IP アドレスが必要で、合計で 40 個の IP アドレスが消費されます。