このトピックでは、ApsaraMQ for MQTT の特定のメトリックの制限について説明します。ApsaraMQ for MQTT を使用する場合、アプリケーションで例外が発生しないように、これらのメトリックに有効な値を指定してください。次の表に制限を示します。
ApsaraMQ for MQTT Enterprise Platinum Edition インスタンスを使用している場合、次の表に示す特定のメトリックにカスタム値を指定できます。メトリックのカスタム値を指定するには、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。
インスタンス
項目 | 制限 | 説明 |
インスタンス名 |
| インスタンスを作成するときに、インスタンスのカスタム名を指定することはできません。新しいインスタンスのデフォルト名は、インスタンスのIDです。インスタンス名を変更するには、ApsaraMQ for MQTT コンソール にアクセスします。 |
単一インスタンスのメッセージング TPS | スロットリングは、購入した仕様に基づいてトリガーされます。指定された 1 秒あたりのトランザクション数(TPS)のしきい値を超えると、オープンソースの MQTT クライアント SDK およびクラウド SDK で、切断、応答タイムアウト、メッセージ破棄などの問題が発生する可能性があります。この場合、ApsaraMQ for MQTT はメッセージの信頼性の高い配信を保証しません。 | 単一の ApsaraMQ for MQTT クライアントは、少数のメッセージのみをパブリッシュおよびサブスクライブします。特定の SDK は、大規模なメッセージング TPS をサポートしていません。単一の ApsaraMQ for MQTT クライアントでは、最大 20 メッセージング TPS を指定することをお勧めします。クラウドサーバーでより大きなメッセージング TPS が必要な場合は、ApsaraMQ for RocketMQ クライアントを使用できます。 |
単一インスタンスに接続されている ApsaraMQ for MQTT クライアントの数 | スロットリングは、購入した仕様に基づいてトリガーされます。インスタンス仕様の指定されたしきい値を超えると、新しい接続の要求が拒否される場合があります。 | 単一インスタンスに接続されている ApsaraMQ for MQTT クライアントの最大数を超えると、ApsaraMQ for MQTT は自動的にアラートを送信します。ビジネス要件に基づいてアラートしきい値を指定することをお勧めします。 |
単一インスタンスのサブスクリプション数 | 仕様で指定されたしきい値を超えると、新しいサブスクリプションの作成に失敗したり、既存のサブスクリプションの接続が中断されたり、既存のサブスクリプションが完全ではなくなる可能性があります。 | 単一インスタンスのサブスクリプション数を超えると、ApsaraMQ for MQTT は自動的にアラートを送信します。ビジネス要件に基づいてアラートしきい値を指定することをお勧めします。 |
インスタンスのエンドポイントとして使用されるドメイン名の IP アドレス | なし。 | IPアドレスは予期せず変更される可能性があります。IPアドレスが固定されていると想定しないでください。ApsaraMQ for MQTT テクニカルチームは、次のシナリオにおける障害または直接的または間接的な損失について責任を負いません。
|
トピック
項目 | 制限 | 説明 |
トピック名 |
| ApsaraMQ for MQTT を使用してメッセージをパブリッシュおよびサブスクライブする場合、トピックの名前は有効な長さの範囲内である必要があります。そうでない場合、メッセージをパブリッシュまたはサブスクライブすることはできません。 |
単一インスタンスの親トピックの数 | 25 | デフォルト値がビジネス要件を満たしていない場合は、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 説明 サブトピックの数に制限はありません。ビジネスの安定した実行を確保するために、1,000 以下のサブトピックを作成することをお勧めします。 |
トピックのリージョン間使用 | サポートされていません。 | ApsaraMQ for MQTT と ApsaraMQ for RocketMQ 間のデータ交換のルールが構成されている場合、対応するリソースは同じリージョンに存在する必要があります。 |
クライアント
項目 | 制限 | 説明 |
クライアント ID |
| ApsaraMQ for MQTT を使用してメッセージをパブリッシュおよびサブスクライブする場合、クライアント ID は 64 文字以下である必要があります。そうでない場合、クライアントは切断されます。 |
グループ ID |
| ApsaraMQ for MQTT を使用してメッセージをパブリッシュおよびサブスクライブする場合、グループ ID は有効な長さの範囲内である必要があります。そうでない場合、メッセージをパブリッシュまたはサブスクライブすることはできません。 |
デバイス ID |
| ApsaraMQ for MQTT を使用してメッセージをパブリッシュおよびサブスクライブする場合、デバイス ID は 64 文字以下である必要があります。そうでない場合、クライアントは切断されます。 |
クライアントがサブスクライブできるトピックの数 | 30 | 各クライアントは、同時に最大 30 個のトピックをサブスクライブできます。サブスクライブされたトピックの数が 30 に達すると、新しいサブスクリプションを追加することはできません。ApsaraMQ for MQTT Enterprise Platinum Edition インスタンスを使用している場合は、クライアントがサブスクライブできるトピックの最大数を増やすことができます。数を増やすには、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 ワイルドカード(*)を含むサブスクリプションを使用してトピックをサブスクライブする場合、トピックは 1 つのサブスクライブされたトピックとしてカウントされます。同じ親トピックの異なるサブトピックがサブスクライブされている場合、各サブトピックはサブスクライブされたトピックとしてカウントされます。たとえば、A/# は 1 つのサブスクライブされたトピックとしてカウントされます。A/# と A/a1/# は 2 つのサブスクライブされたトピックとしてカウントされます。 |
ワイルドカード(*)を含むサブスクリプションの数 | 各親トピックは、ワイルドカード(*)を含む最大 100 個のサブスクリプションをサポートします。 | ApsaraMQ for MQTT ブローカーは、各親トピックに対してワイルドカード(*)を含むアクティブなサブスクリプションの数を制限しています。最大値を超えると、ApsaraMQ for MQTT ブローカーは 100 個のサブスクリプションのみを読み込みます。その結果、一部のサブスクライバーはメッセージを受信できない場合があります。ワイルドカードを含むサブスクリプションの数を厳密に制御することをお勧めします。たとえば、同じ親トピック A の下の A/#、A/a1、A/a2/# へのサブスクリプションは、3 つのサブスクリプションとしてカウントされます。 |
最大ハートビート間隔 | 8分 | ApsaraMQ for MQTT を使用してメッセージをパブリッシュおよびサブスクライブする場合、指定できる最大ハートビート間隔は 8 分です。 |
メッセージ受信、メッセージ送信、およびクライアントステータス通知ルール
項目 | 制限 | 説明 |
単一インスタンスのルール数 | 100 | デフォルト値がビジネス要件を満たしていない場合は、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 |
ルールの重複排除 | 各内部リソースに対して、同じタイプのルールを 1 つだけ作成できます。 | たとえば、各グループ ID に対してクライアントステータス通知のルールを 1 つだけ作成でき、ApsaraMQ for MQTT の各トピックに対してデータ受信ルールとデータ送信ルールを 1 つずつ作成できます。 |
リージョン | リージョンをまたいでルールを作成することはできません。ルールのデータソースとデータデスティネーションが属するインスタンスは、同じリージョンに存在する必要があります。 | たとえば、データソースが中国(杭州)リージョンの ApsaraMQ for MQTT として指定されているデータ送信ルールを作成する場合、データデスティネーションとして中国(杭州)リージョンの ApsaraMQ for RocketMQ インスタンスのみを選択できます。 |
ApsaraMQ for MQTT インスタンスバージョン | カーネルバージョンが 3.x.x のインスタンスに対してのみルールを作成できます。 | ApsaraMQ for MQTT インスタンスのカーネルバージョンは、ApsaraMQ for MQTT コンソール のインスタンスリストまたは [インスタンスの詳細] ページで確認できます。 |
ApsaraMQ for RocketMQ インスタンスバージョン | ApsaraMQ for RocketMQ 4.0 インスタンスのみがサポートされています。 | データ受信ルールまたはデータ送信ルールを使用して ApsaraMQ for MQTT と ApsaraMQ for RocketMQ 間でデータを交換する場合、ApsaraMQ for RocketMQ 4.0 インスタンスのみを使用できます。 |
メッセージング
項目 | 制限 | 説明 |
メッセージサイズ | 64 KB | メッセージのサイズが最大値を超えると、メッセージは破棄されます。 ApsaraMQ for MQTT Enterprise Platinum Edition インスタンスを使用している場合は、最大メッセージサイズを増やすことができます。最大メッセージサイズを増やすには、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 |
メッセージ保持期間 | 3日 | ApsaraMQ for MQTT は、QoS パラメーターが 1 に設定され、cleanSession パラメーターが false に設定されている場合にのみ、オフラインメッセージを保持します。オフラインメッセージは最大 3 日間保持され、この期間が経過すると自動的に削除されます。QoS パラメーターと cleanSession パラメーターの詳細については、「用語」をご参照ください。 ApsaraMQ for MQTT Enterprise Platinum Edition インスタンスを使用している場合は、メッセージ保持期間を増やすことができます。メッセージ保持期間を増やすには、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 |
QoS および cleanSession の構成 | QoS パラメーターを 2 に設定し、cleanSession パラメーターを false に設定することはできません。 | ApsaraMQ for MQTT を使用してメッセージをパブリッシュおよびサブスクライブする場合、次の構成を指定できます。
|
トークンの有効期間 | 30日 | ApplyToken オペレーションを呼び出すときに、ExpireTime パラメーターが 30 より大きい値に設定されている場合、トークンが返され、エラーは報告されません。このトークンの有効期間は引き続き 30 日です。 |
オフラインメッセージの待機期間 | 最大期間:10秒 | ApsaraMQ for MQTT ブローカーが初めてメッセージをプッシュするとき、ブローカーはメッセージがタイムアウトまたは失敗した後にのみ、メッセージがオフラインメッセージに変換されるかどうかを判断できます。待機期間は 5 秒から 10 秒です。 |
保存されているオフラインメッセージの数 | 1,000,000 | インスタンスの ApsaraMQ for MQTT ブローカーは、インスタンスに保存されているオフラインメッセージの数を制限しています。最大値を超えると、ApsaraMQ for MQTT ブローカーは最も古い保存済みオフラインメッセージを削除します。オフラインメッセージが多すぎるのを防ぐために、トピックをサブスクライブするときに cleanSession パラメーターを適切な値に設定します。 デフォルト値がビジネス要件を満たしていない場合は、DingTalkグループ 116015007918 に参加して ApsaraMQ for MQTT テクニカルサポートにお問い合わせください。 |