このトピックでは、MQTT用ApsaraMQ および Message Queuing Telemetry Transport(MQTT)プロトコルで使用される用語について説明します。
基本用語
インスタンス
MQTT用ApsaraMQ を購入するときに作成するエンティティです。各 MQTT用ApsaraMQ インスタンスは、グローバルに一意のエンドポイントに対応しています。MQTT用ApsaraMQ を使用する前に、対応するリージョンにインスタンスを作成し、そのインスタンスのエンドポイントを使用してサービスにアクセスする必要があります。MQTT用ApsaraMQ インスタンスの作成方法については、ステップ 1: リソースの作成 を参照してください。
メッセージ ID
メッセージのグローバルに一意の識別子です。メッセージ ID は MQTT用ApsaraMQ によって自動的に生成され、メッセージの追跡とエラーのトラブルシューティングに使用されます。詳細については、トレース をご参照ください。
MQTT用ApsaraMQ ブローカー
MQTT用ApsaraMQ が MQTT ベースのインタラクションのために提供するサーバーノードです。MQTT用ApsaraMQ ブローカーは、MQTT用ApsaraMQ クライアントと RocketMQ用ApsaraMQ とのメッセージングを実装するために使用されます。
MQTT用ApsaraMQ クライアント
MQTT用ApsaraMQ ブローカーと対話するために使用されるモバイルノードです。
P2P メッセージング
標準 MQTT プロトコルに基づいて MQTT用ApsaraMQ が提供する特別なメッセージングモデルです。このメッセージングモデルでは、メッセージをサブスクリプションなしで MQTT用ApsaraMQ クライアントに送信できます。詳細については、P2P メッセージングモデル (MQTT) をご参照ください。
親トピック
MQTT は、パブリッシュ/サブスクライブ (pub/sub) モデルに基づくメッセージングプロトコルです。MQTT では、各メッセージはトピックに属します。MQTT プロトコルは複数のトピックレベルをサポートしています。レベル 1 のトピックは親トピックです。MQTT用ApsaraMQ を使用する前に、MQTT用ApsaraMQ コンソールまたは RocketMQ用ApsaraMQ コンソールで親トピックを作成する必要があります。
サブトピック
レベル 2 トピックまたはレベル 3 トピックは、MQTT用ApsaraMQ における親トピックのサブトピックです。アプリケーションコードでサブトピックを指定できます。MQTT用ApsaraMQ コンソールでサブトピックを作成する必要はありません。サブトピックの名前は、<親トピックの名前>/<レベル 2 トピックの名前>/<レベル 3 トピックの名前> 形式です。親トピックとそのサブトピックはスラッシュ (/) で区切られます。例: SendMessage/demo/producer。MQTT用ApsaraMQ では、親トピックとそのサブトピックの名前の合計の長さは 64 文字を超えることはできません。超えると、クライアント例外が発生します。
クライアント ID
MQTT用ApsaraMQ 内でクライアントをグローバルに一意に識別する識別子です。別のクライアントが MQTT用ApsaraMQ にアクセスするために使用したクライアント ID を使用すると、アクセスリクエストは拒否されます。
クライアント ID は、グループ ID とデバイス ID で構成されます。クライアント ID の形式は <GroupID>@@@<DeviceID> です。クライアント ID は 64 文字を超えることはできず、印刷できない文字を含めることはできません。詳細については、制限 をご参照ください。
グループ ID
同じロジックと機能を使用するノードのグループを指定する識別子です。グループ ID は、同じ機能をサポートするデバイスのセットを表します。MQTT用ApsaraMQ コンソールでグループを作成する必要があります。グループの作成方法については、ステップ 1: リソースの作成 を参照してください。
デバイス ID
各デバイスを一意に識別するために指定する識別子です。デバイス ID はグローバルに一意である必要があります。たとえば、センサーのシリアル番号をデバイス ID として使用できます。
ネットワーク関連の用語
エンドポイント
MQTT用ApsaraMQ は、パブリックエンドポイントとインターナルエンドポイントを提供します。モバイルデバイスにはパブリックエンドポイントを使用することをお勧めします。標準 MQTT ポート 1883 に加えて、MQTT用ApsaraMQ は Secure Sockets Layer (SSL) 暗号化と WebSocket もサポートしています。エンドポイントは、インスタンスの作成後にインスタンスに自動的に割り当てられます。後で参照できるようにエンドポイントを保管してください。インスタンスの作成方法については、ステップ 1: リソースの作成 を参照してください。
MQTT 関連の用語
MQTT
IoT およびモバイルインターネット分野の業界標準プロトコルです。このプロトコルは、モバイルデバイス間のデータ伝送に適しています。デフォルトでは、MQTT用ApsaraMQ は MQTT プロトコルをサポートしています。
QoS
メッセージ伝送におけるサービス品質 (QoS) レベルです。プロデューサーとコンシューマーに個別に QoS レベルを指定できます。
プロデューサーの QoS レベルは、プロデューサーから MQTT用ApsaraMQ に送信されるメッセージの伝送品質に影響します。
コンシューマーの QoS レベルは、MQTT用ApsaraMQ ブローカーからコンシューマーに配信されるメッセージの伝送品質に影響します。
MQTT は次の QoS レベルを提供します。
QoS0: メッセージは、対象の MQTT用ApsaraMQ クライアントに最大 1 回配信されます。
QoS1: メッセージは、対象の MQTT用ApsaraMQ クライアントによって少なくとも 1 回受信されます。
QoS2: メッセージは、対象の MQTT用ApsaraMQ クライアントに正確に 1 回配信されます。
cleanSession
MQTT プロトコルでは、cleanSession パラメーターは、TCP 接続の確立後にオフラインメッセージと以前のサブスクリプションを処理するために使用されるメソッドを指定します。このパラメーターの構成は、プロデューサーの構成の影響を受けません。次の構文に基づいてこのパラメーターを設定します。
cleanSession=true: オフラインの MQTT用ApsaraMQ コンシューマークライアントが再びオンラインになると、以前のすべてのサブスクリプションとオフラインメッセージがクリーンアップされます。
cleanSession=false: オフラインの MQTT用ApsaraMQ コンシューマークライアントが再びオンラインになると、以前のオフラインメッセージが処理され、以前のサブスクリプションは有効なままになります。
QoS レベルと cleanSession パラメーターを一緒に使用する場合は、次の点に注意してください。
MQTT プロトコルでは、各クライアントの cleanSession パラメーターの値は、接続ごとに変更することはできません。変更すると、一部のメッセージがオフラインメッセージと誤って解釈される可能性があります。
MQTT プロトコルでは、QoS2 のメッセージに対して cleanSession パラメーターを false に設定することはできません。MQTT用ApsaraMQ クライアントがそのようなメッセージをサブスクライブする場合、cleanSession パラメーターが false に設定されていても、サブスクリプションは有効になりません。
P2P メッセージの cleanSession パラメーターは、メッセージを受信する MQTT用ApsaraMQ クライアントの構成に従います。
次の QoS レベルと cleanSession パラメーターの組み合わせ 表に、コンシューマーにおける QoS レベルと cleanSession パラメーターのさまざまな組み合わせの結果を示します。
表 1. QoS レベルと cleanSession パラメーターの組み合わせ
QoS レベル | cleanSession=true | cleanSession=false |
QoS0 | オフラインメッセージは配信されません。オンラインメッセージに対しては 1 回だけ配信が試行されます。 | オフラインメッセージが配信されます。オンラインメッセージに対しては 1 回だけ配信が試行されます。 |
QoS1 | オフラインメッセージは配信されません。オンラインメッセージは、対象の MQTT用ApsaraMQ クライアントに確実に到達します。 | オフラインメッセージが配信されます。オフラインメッセージとオンラインメッセージは、対象の MQTT用ApsaraMQ クライアントに確実に到達します。 |
QoS2 | オフラインメッセージは配信されません。オンラインメッセージは、対象の MQTT用ApsaraMQ クライアントに確実に到達し、1 回だけ受信されます。 | サポートされていません。 |
ソリューション関連の用語
RTC
音声およびビデオ分野向けのリアルタイムネットワーク通信方式です。この方式は、音声通話、ビデオ通話、ビデオ会議などのシナリオで使用されます。
RTC サーバー
Alibaba Cloud Real-Time Communication (RTC) が提供する音声およびビデオメディアチャネルサービスをホストするサーバーです。
音声およびビデオサービス管理サーバー
RTC システムの管理ノード。音声およびビデオ管理サービスとも呼ばれます。独自の 音声およびビデオ管理サービスを開発して、すべての RTC セッションのライフサイクルを管理できます。ほとんどの場合、このような管理ノードは Alibaba Cloud にデプロイされます。Alibaba Cloud サービスを使用して 音声およびビデオ管理サービスをデプロイできます。
モバイル 音声およびビデオ アプリケーション
RTC システムでエンドユーザーが使用する端末アプリケーションです。エンドユーザーはこのアプリケーションを使用して、音声またはビデオ通話を開始または参加します。
スマート AP
アプリケーションプログラミングをサポートし、インターネットアクセスを有効にし、LAN デバイスを管理できる一般的なネットワークデバイスです。たとえば、スマートルーターはスマートアクセスポイント (AP) です。
デジタルプライスタグ
ショッピングモールやスーパーマーケットなどで使用される電子画面です。デジタルプライスタグは、Bluetooth や ZigBee などのワイヤレスセンサーネットワークプロトコルに基づいてスマート AP ノードを使用してネットワーク化されます。
デジタルプライスタグ管理サービス
デジタルプライスタグシステムのバックエンドサービスです。このサービスは、電子画面に表示されるコンテンツを管理し、価格変更などの手動タスクを管理およびクエリするために使用されます。
RDS
Alibaba Cloud が提供する安定性、信頼性、スケーラビリティの高いオンラインデータベースサービスです。RDS は、デジタルプライスタグシステムにおける価格変更などのタスクステータスの変更を永続的に保存するために使用されます。
Simple Log Service
Alibaba Cloud が提供するログストレージサービスです。このサービスは、監査とトレースのために、デジタルプライスタグシステムのすべての操作ログを永続的に保存するために使用されます。