ApsaraMQ for RocketMQ は、インスタンス、タイプ、パラメーターにクォータと制限を設けています。アプリケーションエラーを防ぐため、ApsaraMQ for RocketMQ を使用する際は、これらの制限に従ってください。
パラメーターの制限
以下のパラメーターにおけるリソース名と備考の制限は調整できません。特殊文字や過剰な長さによるシステム処理エラーを防ぐため、仕様に厳密に従う必要があります。
パラメーター | 制限 | 説明 |
インスタンス名 |
| なし。 |
トピック名 |
システム予約文字:以下の予約文字や、特殊なプレフィックスまたはサフィックスを持つ文字を Topic 名として使用しないでください。 | Topic 名には短く一般的な文字を使用し、特殊文字は避けてください。特殊文字は解析エラーを引き起こす可能性があり、長すぎる名前はメッセージが拒否される原因となることがあります。 |
LiteTopic 名 |
| LiteTopic 名には短く一般的な文字を使用し、特殊文字は避けてください。特殊文字は解析エラーを引き起こす可能性があり、長すぎる名前はメッセージが拒否される原因となることがあります。 |
LiteTopic の生存時間 (TTL) |
| これは、現在の Topic 配下にある LiteTopic リソースの有効期限です。指定された TTL に達する期間、Topic 配下のどの LiteTopic にも新しいメッセージが書き込まれない場合、その LiteTopic は期限切れとなり、自動的に削除されます。値 -1 は、LiteTopic が期限切れにならず、削除されないことを示します。このフィールドは、メッセージタイプが Lite の場合に設定できます。 |
使用者グループ名 |
システム予約文字:以下の予約文字や、特殊なプレフィックスを持つ文字をコンシューマーグループ名として使用しないでください。 | なし。 |
インスタンスの備考 |
| なし。 |
Topic の備考 | ||
グループの備考 | ||
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 は、本番環境の安定性と運用保守 (O&M) の経験に基づき、特定の操作に対して QPS や同時実行数などのメトリックを制限します。これらのクォータは、ほとんどのシナリオで十分です。特別なシナリオで ApsaraMQ for RocketMQ が提供するクォータがビジネス要件を満たさない場合は、ApsaraMQ for RocketMQ のテクニカルサポートに連絡して支援を求めることができます。
制限項目 | 制限 | 説明 | |
サブスクリプションおよび従量課金インスタンス | Serverless インスタンス | ||
リージョンあたりのインスタンス数 | すべてのタイプのインスタンスの合計数は 1,000 を超えることはできません。 | なし。 | |
インスタンスごとのメッセージ送受信 TPS | これは購入したインスタンスタイプによって決まります。具体的な制限については、「インスタンスタイプの制限」をご参照ください。 | 弾力的かつ適応的 | メッセージ送受信 TPS は、現在のインスタンスの処理性能を反映します。実際の TPS が仕様の上限を超えた場合、インスタンスはスロットリングされます。速やかにインスタンスタイプをアップグレードする必要があります。 |
メッセージ保持期間 |
|
| ストレージコストを管理可能な範囲に保ちながら、保持期間をできるだけ延長できます。保持期間が長いほど、トラブルシューティングやデータバックトレースのためのウィンドウが長くなります。 |
コンシューマーグループあたりの処理中のメッセージ数 | 最大 2,500。 | 最大 2,500。 | コンシューマーグループ内の In-flight メッセージ数が多すぎると、コンシューマーの応答が遅くなる可能性があります。このメトリックをモニタリングし、原因を速やかに調査する必要があります。 |
単一のコンシューマーがサブスクライブできる LiteTopic の数 | 最大 2,000。 | 最大 2,000。 | 単一のコンシューマーで多くの LiteTopic をサブスクライブしすぎると、クライアントのパフォーマンスに影響を与える可能性があります。必要に応じて、チケットを送信して最大値を増やすことができます。 |
各 LiteTopic の最大消費 TPS | 200 | 200 | 1 つの Topic の下に数十万から数百万の LiteTopic を作成できます。Topic の合計消費 TPS は影響を受けません。 |
操作の制限
ApsaraMQ for RocketMQ は、フルマネージドの Platform as a Service (PaaS) です。そのため、システムはオープンソースの Apache RocketMQ で利用可能な一部の高リスクな運用保守操作や機能を制限しています。特別な要件がある場合は、ApsaraMQ for RocketMQ のテクニカルサポートに連絡して支援を求めることができます。
制限項目 | 説明 |
Apache RocketMQ Admin ツールの互換性 | ApsaraMQ for RocketMQ は、Apache RocketMQ Admin API またはコマンドラインインターフェイス (CLI) を使用したインスタンス、Topic、およびグループの管理をサポートしていません。 API を通じてリソースを管理するには、Alibaba Cloud が提供する OpenAPI を使用してください。Alibaba Cloud OpenAPI は、多言語 SDK と CLI コマンドをサポートしています。 |
Apache RocketMQ Request-Reply メッセージ | ApsaraMQ for RocketMQ は、Apache RocketMQ Request-Reply メッセージの送信をサポートしていません。 |
Apache RocketMQ Streaming コンポーネント | ApsaraMQ for RocketMQ は、Apache RocketMQ Streaming コンポーネントのマネージドサービスを提供していません。Alibaba Cloud 環境に自分でデプロイするか、ApsaraMQ for RocketMQ のデータ統合機能を使用して、軽量なデータ統合とコンピューティングを実装できます。 |
Apache RocketMQ MQTT コンポーネント | ApsaraMQ for RocketMQ は、Apache RocketMQ MQTT コンポーネントのマネージドサービスを提供していません。より完全な機能を提供する Alibaba Cloud の ApsaraMQ for MQTT サービスを使用してください。 |
Apache RocketMQ EventBridge コンポーネント | ApsaraMQ for RocketMQ は、Apache RocketMQ EventBridge コンポーネントのマネージドサービスを提供していません。より完全な機能を提供する Alibaba Cloud の EventBridge サービスを使用してください。 |
Apache RocketMQ-Connector コンポーネント | ApsaraMQ for RocketMQ は、Apache RocketMQ-Connector コンポーネントのマネージドサービスを提供していません。ApsaraMQ for RocketMQ のデータ統合機能を使用して、メッセージデータの流入と流出を実装できます。 |
インスタンスタイプの制限
Standard Edition シリーズのすべてのインスタンスと、Professional Edition シリーズのシングルノード版インスタンスは、バースト可能なエラスティックコンピューティングをサポートしていません。高負荷ランタイム中にトラフィックバーストが仕様の上限を超えてインスタンスがスロットリングされるのを防ぐため、事前にリソース使用量を計画する必要があります。
単一インスタンスの Topic とグループのクォータは、大規模な本番環境の実践に基づいて計算されており、ほとんどのシナリオのビジネス要件を満たします。サービスを部門やドメインごとに異なるインスタンスに分割して分離する必要があります。すべてのサービスを単一のインスタンスで実行することは避けてください。
メッセージ送受信の TPS 仕様は、通常のメッセージタイプと 4 KB のメッセージサイズをベンチマークとして、送受信されたメッセージの合計に基づいて計算されます。高度な機能を持つメッセージや大きなメッセージの TPS を計算する場合は、結果に対応するレートを乗じる必要があります。計算方法の詳細については、「計算仕様」をご参照ください。
メッセージ送受信の実際の TPS が購入した仕様の上限を超えた場合:
インスタンスで弾性 TPS が有効になっている場合、インスタンスはベース仕様から弾性仕様の範囲内で正常に動作します。弾性 TPS の使用量は従量課金制で課金されます。TPS が弾性容量の上限を超えた場合、インスタンスはスロットリングされます。
非 Serverless インスタンスの弾性 TPS 課金の詳細については、「弾性 TPS 料金」をご参照ください。Serverless インスタンスの弾性 TPS 課金の詳細については、「Serverless 弾性 TPS 料金」をご参照ください。
インスタンスが弾性 TPS をサポートしていないか、有効にしていない場合、ApsaraMQ for RocketMQ はインスタンスをスロットリングします。
クライアントと ApsaraMQ for RocketMQ インスタンス間の接続が多すぎると、サーバーはこれらの接続を維持するために大量のリソースを消費します。これはサーバーの安定性に深刻な影響を与えます。したがって、クライアント接続数がインスタンスタイプの上限を超えないようにしてください。
Serverless シリーズインスタンス
オンラインクライアント同時接続数:オンラインのプロデューサーまたはコンシューマーオブジェクトの数。1 つのプロデューサーまたは 1 つのコンシューマーオブジェクトが 1 クライアントとしてカウントされます。
リソース数: Topic と使用者グループの総数。
デプロイメントアーキテクチャ | 容量モード | TPS 仕様 | オンラインクライアント同時接続数の最大値 | 同時オンラインクライアントの無料クォータ | 最大リソース数 | リソース数の無料クォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
共有 | 累積 | すべて | 5,000 | 500 | 3,000 | 100 | / |
予約済み + 弾性 | [2000, 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 | 600,000 | ||
15,000 | 8,000 | 6,000 | 6,000 | 500 | 720,000 | ||
[20,000, 50,000] | 10,000 | 8,000 | 6,000 | 500 | 1,000,000 | ||
(50,000, 100,000] | 20,000 | 10,000 | 6,000 | 500 | 1,500,000 | ||
(100,000, 200,000] | 40,000 | 20,000 | 8,000 | 1,000 | 2,400,000 | ||
(200,000, 300,000] | 80,000 | 40,000 | 10,000 | 1,500 | 4,700,000 | ||
(300,000, 500,000] | 100,000 | 50,000 | 16,000 | 2,000 | 6,300,000 | ||
(500,000, 1,000,000] | 200,000 | 100,000 | 40,000 | 3,000 | 11,600,000 |
非 Serverless シリーズ (サブスクリプションおよび従量課金) インスタンス
Standard Edition インスタンスタイプ
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (TPS) | 最大バースト TPS (TPS) | 最大接続数 | パブリックダウンストリーム帯域幅 (Mbps) | 無料 Topic クォータ | 最大 Topic クォータ | 最大コンシューマーグループクォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
シングルノード版 (販売終了) | rmq.s1.micro | 500 | 該当なし。 このタイプはバースト弾力性をサポートしていません。 | 2,000 | 1~1,000 カスタマイズ可能。 | 100 | 100 | 1,000 | / |
高可用性版 | rmq.s2.2xlarge | 2,000 | 4,000 | 300 | 150,000 | ||||
rmq.s2.4xlarge | 4,000 | 4,000 | 250,000 | ||||||
rmq.s2.6xlarge | 6,000 | 6,000 | 500 | 300,000 |
Standard Edition の Topic とコンシューマーグループの最高仕様 (rmq.s2.6xlarge) がビジネス要件を満たさない場合は、Professional Edition にアップグレードして適切なインスタンスタイプを選択できます。
Professional Edition インスタンスタイプ
インスタンスサブシリーズ | インスタンスタイプ | 最大ベース TPS (TPS) | 最大バースト TPS (TPS) | 最大接続数 | パブリックダウンストリーム帯域幅 (Mbps) | 無料 Topic クォータ | 最大 Topic クォータ | 最大コンシューマーグループクォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
シングルノード版 (販売終了) | rmq.p1.micro | 500 | 該当なし。 このタイプはバースト弾力性をサポートしていません。 | 2,000 | 1~1,000 カスタマイズ可能。 | 150 | 150 | 1,500 | / |
高可用性版 | rmq.p2.4xlarge | 4,000 | 2,000 | 4,000 | 2,000 | 250,000 | |||
rmq.p2.6xlarge | 6,000 | 3,000 | 6,000 | 300,000 | |||||
rmq.p2.10xlarge | 10,000 | 5,000 | 10,000 | 1,000 | 600,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 |
Professional Edition の Topic とコンシューマーグループの最高仕様 (rmq.p2.10xlarge 以上) がビジネス要件を満たさない場合は、チケットを送信して支援を依頼できます。
Platinum Edition インスタンスタイプ
インスタンスサブシリーズ | インスタンスタイプ | 基本メッセージング仕様の最大 TPS (秒間トランザクション数) | 最大バースト TPS (TPS) | 最大接続数 | パブリックダウンストリーム帯域幅 (Mbps) | 無料 Topic クォータ | 最大 Topic クォータ | 最大コンシューマーグループクォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
高可用性版 | 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 の Topic とコンシューマーグループの仕様がビジネス要件を満たさない場合は、チケットを送信して支援を依頼できます。