ApsaraMQ for RabbitMQ では、クラスター、文字、ピーク TPS (Transactions Per Second) に制限が適用されます。プログラムエラーを回避するため、ApsaraMQ for RabbitMQ の使用時にこれらの制限を超えないでください。
クラスター制限
この表の制限は、最新バージョンのインスタンスに適用されます。
お使いのインスタンスの制限がこの表と一致しない場合、インスタンスが最新バージョンではない可能性があります。詳細については、チケットを送信してください。制限の調整には、次の制約があります:
レガシーアーキテクチャのインスタンスでは制限の調整はサポートされていません。ID が数字のみで構成されているインスタンス、または VPC エンドポイントが
mq.amqp.aliyuncs.comで終わらないインスタンスでは、以下に示す制限の調整はできません。
項目 | サーバーレスインスタンス | サブスクリプションインスタンス | |||
共有 | 専用 | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | |
プロビジョニングされた容量と弾性トラフィックによる支払い/メッセージリクエスト単位の支払い | プロビジョニングされた容量と弾性トラフィックによる支払い | ||||
インスタンスあたりの仮想ホスト数 | 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 (注: China (Qingdao)、Japan (Tokyo)、China (Hohhot) リージョンのインスタンス、およびその他のリージョンで 2025 年 5 月 1 日より前に作成されたインスタンスの場合、上限は 1 MB です。) | 50 MB (注: China (Qingdao)、Japan (Tokyo)、China (Hohhot) リージョンのインスタンス、およびその他のリージョンで 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 では、メッセージのヘッダーフレームのサイズを 32 KB に制限しています。この制限は調整できません。ヘッダーフレームのサイズ制限に抵触しないように、大きなメッセージ内容はヘッダーフレームではなくメッセージ本文に含めてください。
文字の制限
項目 | 制限 |
キュー名 |
|
エクスチェンジ名 |
|
仮想ホスト名 |
|
バインディングキー |
|
コンシューマータグ |
|
メッセージ 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 エクスチェンジのルーティング戦略を使用してキュー総数を削減するか、コンシューマーが存在せず使用されなくなったキューをクリーンアップします。
インスタンス間での業務分割:ワークロードの要件を満たす場合は、新しい Enterprise Edition インスタンスに業務の一部を分散し、複数インスタンスでキュー使用量を分散します。
エラー "The channelMax limit is reached" が発生した場合の対処方法
原因:1つの接続におけるチャネル数が、現在のインスタンスエディションの channelMax 制限に達しています。
解決策:
現在の ApsaraMQ for RabbitMQ インスタンスエディション (Professional Edition、Enterprise Edition、Enterprise Platinum Edition など) を確認します。
クラスター制限 の表にある 接続あたりのチャネル数 の行を参照し、お使いのインスタンスエディションの具体的な channelMax 値を確認します。
より多くの同時チャネル数をサポートするために、インスタンスエディションのアップグレードが必要かどうかを評価します。
キーワード "channelMax"、"limit is reached"、"channel count limit" は、いずれもこのエラーに関連します。これらの症状が発生した場合は、上記の手順に従って原因を特定し、問題を解決してください。