ApsaraMQ for RocketMQ は、インスタンスリソース、インスタンスタイプ、および関連パラメーターに対してクォータと制限を定義しています。ApsaraMQ for RocketMQ を使用する際は、アプリケーションエラーを防ぐために、これらの制限を超えないようにしてください。
パラメーターの制限
以下の表に示すリソース名、備考、およびその他のパラメーターの制限は調整できません。特殊文字や制限を超える長さによるシステムエラーを防ぐために、これらの仕様に厳密に従う必要があります。
パラメーター | 制限 | 説明 |
インスタンス名 |
| なし。 |
トピック名 |
予約文字:Topic 名には、以下の予約文字、プレフィックス、またはサフィックスを使用しないでください。 | Topic 名には短く一般的な文字を使用し、特殊文字は避けてください。特殊文字は解析エラーを引き起こす可能性があります。名前が長すぎると、システムがメッセージの送受信操作を拒否する場合があります。 |
LiteTopic 名 |
| LiteTopic 名には短く一般的な文字を使用し、特殊文字は避けてください。特殊文字は解析エラーを引き起こす可能性があります。名前が長すぎると、システムがメッセージの送受信操作を拒否する場合があります。 |
LiteTopic の生存時間 (TTL) |
| このパラメーターは、現在の Topic 配下にある LiteTopic リソースの有効期限を指定します。指定された TTL に達する期間、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 秒。 この値は指定された範囲内でカスタマイズできます。 | ロングポーリングタイムアウトを設定した後、サーバーに準備ができたメッセージがない場合、クライアントリクエストは新しいメッセージが到着するか、タイムアウト期間が経過するまでブロックされます。 ロングポーリングは、無効な空のリクエストを大幅に削減し、メッセージ量が少ない場合にクライアントとサーバーの両方の負荷を軽減できます。 |
サブスクリプション関係 | フィルター式の長さ制限:4000 文字 (TAG および SQL フィルターを含む)。 | 詳細については、「サブスクリプション」をご参照ください。 |
リソースクォータ
ApsaraMQ for RocketMQ は、本番環境の安定性と O&M の経験に基づいて、特定の操作に対して QPS や同時実行数などのメトリックを制限します。これらのクォータは、ほとんどのシナリオで十分です。特別なシナリオで ApsaraMQ for RocketMQ が提供するクォータがビジネス要件を満たさない場合は、ApsaraMQ for RocketMQ のテクニカルサポートに連絡して支援を求めることができます。
制限 | 制限値 | 説明 | |
サブスクリプションおよび従量課金インスタンス | Serverless インスタンス | ||
リージョンあたりのインスタンス数 | すべてのタイプのインスタンスの合計数は 1000 を超えることはできません。 | なし。 | |
インスタンスごとのメッセージ送受信 TPS | これは購入したインスタンスタイプによって決まります。具体的な制限については、「インスタンスタイプの制限」をご参照ください。 | 自動スケーリング | メッセージ送受信 TPS は、現在のインスタンスの処理性能を反映します。実際の TPS がインスタンスタイプの制限を超えた場合、インスタンスはスロットリングされます。インスタンスタイプを速やかにスペックアップする必要があります。 |
メッセージ保持期間 |
|
| ストレージコストを管理するために、保持期間をできるだけ長く延長できます。保持期間が長いほど、トラブルシューティングやデータバックフィルのためのウィンドウが長くなります。 |
コンシューマーグループあたりの処理中のメッセージ数 | 最大:2500。 | 最大:2500。 | コンシューマーグループ内の滞留メッセージが多すぎると、コンシューマーの応答が遅くなる可能性があります。このメトリックを監視し、原因を速やかに調査する必要があります。 |
単一のコンシューマーがサブスクライブできる LiteTopic の数 | 最大:2000。 | 最大:2000。 | 単一のコンシューマーで多くの LiteTopic をサブスクライブすると、クライアントのパフォーマンスに影響を与える可能性があります。チケットを送信して最大値を増やすことができます。 |
各 LiteTopic の最大消費 TPS | 200 | 200 | 1 つの Topic の下に数十万から数百万の LiteTopic を作成できます。Topic の合計消費 TPS は影響を受けません。 |
操作の制限
ApsaraMQ for RocketMQ は、完全マネージド型の Platform as a Service (PaaS) です。そのため、オープンソースの Apache RocketMQ で利用可能な一部の高リスクな O&M 操作や機能を制限しています。特別な要件がある場合は、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 が弾性容量の上限を超えた場合、インスタンスは引き続きスロットリングされます。
非サーバーレスインスタンスの弾性 TPS の課金については、「弾性 TPS 料金」をご参照ください。サーバーレスインスタンスの弾性 TPS の課金については、「サーバーレス弾性 TPS 料金」をご参照ください。
インスタンスが弾性 TPS 機能をサポートしていないか、有効にしていない場合、ApsaraMQ for RocketMQ はインスタンスをスロットリングします。
ApsaraMQ for RocketMQ インスタンスに接続するクライアントが多すぎると、サーバーは接続を維持するために大量のリソースを使用します。これはサーバーの安定性に深刻な影響を与える可能性があります。クライアント接続数がインスタンスタイプの上限を超えないようにしてください。
サーバーレスインスタンス
オンラインクライアント同時接続数:オンラインのプロデューサーまたはコンシューマーオブジェクトの数。1 つのプロデューサーまたは 1 つのコンシューマーオブジェクトが 1 クライアントとしてカウントされます。
リソース数: Topic と使用者グループの総数。
デプロイメントアーキテクチャ | 容量モード | 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 | 2000 | 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 |
非サーバーレス (サブスクリプションおよび従量課金) インスタンス
Standard Edition インスタンスタイプ
インスタンスサブシリーズ | インスタンスタイプ | メッセージ送受信の最大ベース TPS (回/秒) | メッセージ送受信の最大バースト弾性 TPS (回/秒) | 最大接続数 | ダウンストリームインターネット帯域幅 (Mbps) | 無料 Topic クォータ | 最大 Topic クォータ | 最大コンシューマーグループクォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
シングルノード版 (販売終了) | rmq.s1.micro | 500 | 適用外 このインスタンスタイプはバースト弾性をサポートしていません。 | 2,000 | 1~1000 カスタマイズ可能。 | 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 の最高仕様 (rmq.s2.6xlarge) でも Topic とコンシューマーグループの要件を満たせない場合は、Professional Edition にスペックアップして適切なインスタンスタイプを選択できます。
Professional Edition インスタンスタイプ
インスタンスサブシリーズ | インスタンスタイプ | メッセージ送受信の最大ベース TPS (回/秒) | メッセージ送受信の最大バースト弾性 TPS (回/秒) | 最大接続数 | ダウンストリームインターネット帯域幅 (Mbps) | 無料 Topic クォータ | 最大 Topic クォータ | 最大コンシューマーグループクォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
シングルノード版 (販売終了) | rmq.p1.micro | 500 | 適用外 このインスタンスタイプはバースト弾性をサポートしていません。 | 2,000 | 1~1000 カスタマイズ可能。 | 150 | 150 | 1,500 | / |
クラスター高可用性版 | rmq.p2.4xlarge | 4,000 | 2,000 | 4,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 の最高仕様 (rmq.p2.10xlarge 以降) でも Topic とコンシューマーグループの要件を満たせない場合は、チケットを送信して支援を求めることができます。
Platinum Edition インスタンスタイプ
インスタンスサブシリーズ | インスタンスタイプ | メッセージ送受信の最大ベース TPS (回/秒) | メッセージ送受信の最大バースト弾性 TPS (回/秒) | 最大接続数 | ダウンストリームインターネット帯域幅 (Mbps) | 無料 Topic クォータ | 最大 Topic クォータ | 最大コンシューマーグループクォータ | 作成またはサブスクライブ可能な LiteTopic の最大数 |
クラスター高可用性版 | rmq.u2.10xlarge | 10,000 | 5,000 | 10,000 | 1~1000 カスタマイズ可能。 | 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 とコンシューマーグループのクォータがビジネス要件を満たさない場合は、チケットを送信して支援を求めることができます。