このトピックでは、ApsaraMQ for MQTT のメトリックの制限について説明します。ApsaraMQ for MQTT を使用する場合、プログラム例外を防ぐために、メトリックを制限内の値に設定する必要があります。次のセクションの表に、制限について説明します。
ApsaraMQ for MQTT Enterprise Platinum Edition インスタンスを使用している場合は、ビジネス要件に基づいて、次の表の特定のメトリックにカスタム値を指定できます。メトリックのカスタム値を指定するには、ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。
| メトリック | 制限 | 説明 |
| トピック名長 | 64 文字 | ApsaraMQ for MQTT を使用してメッセージを送受信する場合、トピック名の長さは 64 文字を超えることはできません。超えた場合、メッセージを送受信できません。 |
| リージョンをまたがるトピックの使用 | なし | ApsaraMQ for MQTT インスタンスのトピックは、Message Queue for MQTT インスタンスがバインドされている ApsaraMQ for RocketMQ インスタンスなどのバックエンドメッセージ永続化インスタンスのトピックと同じリージョンに存在する必要があります。 |
| トピック名とクライアント ID で使用できる文字 | 数字、文字、ハイフン(-)、アンダースコア(_) | ApsaraMQ for MQTT のトピック名またはクライアント ID には、スラッシュ(/)、コロン(:)、カンマ(,)、パーセント記号(%)などの非従来型の文字を含めることはできません。トピック名またはクライアント ID に非従来型の文字が含まれている場合、クライアント接続が失敗し、メッセージが送受信されない可能性があります。 |
| クライアント ID の長さ | 64 文字 | ApsaraMQ for MQTT を使用してメッセージを送受信する場合、クライアント ID は 64 文字を超えることはできません。超えた場合、クライアントが切断される可能性があります。 |
| メッセージサイズ | 64 KB | メッセージのサイズは 64 KB を超えることはできません。超えた場合、メッセージは破棄されます。Enterprise Platinum Edition インスタンスでは、このメトリックにカスタム値を指定できます。 |
| メッセージ保持期間 | 3 日 | QoS パラメーターが 1 に設定され、cleanSession パラメーターが false に設定されている場合、オフラインメッセージは最大 3 日間のみ保持できます。3 日後、オフラインメッセージは自動的に削除されます。Enterprise Platinum Edition インスタンスでは、このメトリックにカスタム値を指定できます。 |
| 1 秒あたりのメッセージングトランザクション数(TPS) | 制限はインスタンス仕様によって異なります。 |
|
| 接続されているクライアント数 | 制限はインスタンス仕様によって異なります。 | サブスクリプションインスタンスの場合、購入した仕様に基づいて調整が行われます。インスタンス仕様で指定された上限を超えると、接続の安定性が保証されません。従量課金インスタンスの場合、調整は行われません。デフォルトでは、監視およびアラート機能が有効になっています。ビジネス要件に基づいて監視およびアラートのしきい値を指定することをお勧めします。 |
| サブスクリプション数 | 制限はインスタンス仕様によって異なります。 | サブスクリプションインスタンスの場合、購入した仕様に基づいて調整が行われます。インスタンス仕様で指定された上限を超えると、サブスクリプションの整合性が保証されません。従量課金インスタンスの場合、調整は行われません。デフォルトでは、監視およびアラート機能が有効になっています。ビジネス要件に基づいて監視およびアラートのしきい値を指定することをお勧めします。 |
| 単一の Message Queue for MQTT クライアントがサブスクライブできるトピック数 | 30 | ApsaraMQ for MQTT を使用してメッセージを送受信する場合、各 Message Queue for MQTT クライアントは最大 30 個のトピックにサブスクライブできます。制限を超えると、新しいサブスクリプションを追加できません。Enterprise Platinum Edition インスタンスでは、このメトリックにカスタム値を指定できます。 |
| QoS および cleanSession の構成 | QoS パラメーターが 2 に設定されている場合、cleanSession パラメーターを false に設定することはできません。 | ApsaraMQ for MQTT ブローカーは、QoS パラメーターが 2 に設定され、cleanSession パラメーターが false に設定されている場合、サブスクリプションをサポートしていません。オフラインメッセージを受信するには、QoS パラメーターを 1 に設定し、cleanSession パラメーターを false に設定します。 |
| トークンの有効期間 | 30 日 | トークンの有効期間は 30 日です。ApplyToken オペレーションを呼び出してトークンを申請し、ExpireTime パラメーターを 30 より大きい値に設定すると、トークンが返され、エラーは報告されませんが、トークンは 30 日間のみ有効です。 |
| メッセージの順序 | メッセージは生成された順序と同じ順序で送信されます。 | ApsaraMQ for MQTT を使用してメッセージを送受信する場合、メッセージの送信順序のみが保証されます。メッセージを順番に消費する場合は、ApsaraMQ for RocketMQ を使用して TCP 経由でメッセージを受信する必要があります。 |
| オフラインメッセージの待機期間 | 10 秒 | Message Queue for MQTT ブローカーが初めてメッセージをプッシュするとき、メッセージがタイムアウトまたは失敗した後にのみ、メッセージがオフラインメッセージに変換されたかどうかを判断できます。待機期間は 5 秒から 10 秒です。 |
| 保存されているオフラインメッセージの数 | 1,000,000 | インスタンスの Message Queue for MQTT ブローカーは、ブローカーに保存されているオフラインメッセージの数を制限します。上限を超えると、Message Queue for MQTT ブローカーは最も古い保存済みオフラインメッセージを削除します。オフラインメッセージが多くなりすぎないようにするには、トピックにサブスクライブするときに、ビジネス要件に基づいて cleanSession パラメーターを構成します。 デフォルトの最大値がビジネス要件を満たしていない場合は、ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 |
| ワイルドカードを含むサブスクリプションの数 | 各ペアレントトピックは、ワイルドカードを含む最大 100 個のサブスクリプションをサポートします。 | Message Queue for MQTT ブローカーは、各ペアレントトピックに対して、ワイルドカードを含むアクティブなサブスクリプションの数を制限しています。最大値を超えると、Message Queue for MQTT ブローカーは 100 個のサブスクリプションのみを読み込みます。その結果、一部のサブスクライバーはメッセージを受信できない可能性があります。ワイルドカードを含むサブスクリプションの数を厳密に制御することをお勧めします。 |
| ApsaraMQ for MQTT のドメイン名のエンドポイントの IP アドレス | なし | IP アドレスは予期せず変更される可能性があります。IP アドレスが固定されていると想定しないでください。ApsaraMQ for MQTT テクニカルチームは、次のシナリオでの障害および直接的または間接的な損失について責任を負いません。
|