MQTTはクライアント・サーバー型のパブリッシュ/サブスクライブメッセージングトランスポートプロトコルです。軽量、オープン、シンプルで実装しやすく設計されています。これらの特性により、小さなコードフットプリントが必要であったり、ネットワーク帯域幅が限られていたりする、Machine to Machine(M2M)やInternet of Things(IoT)コンテキストでの通信など、多くの制約のある環境を含む様々な状況での使用に理想的です。
このプロトコルは TCP/IP 上、または順序付けられた損失のない双方向接続を提供する他のネットワークプロトコル上で実行されます。機能には以下が含まれます:
· 一対多のメッセージ配信とアプリケーションの分離を提供する、 publish/subscribe メッセージパターンを使用します。
· ペイロードのコンテンツに依存しないメッセージングトランスポート。
· メッセージ配信の サービス品質レベルが 3 種類あります:
· 「最大 1 回」。メッセージはオペレーティング環境のベストエフォートに従って配信されます。メッセージが失われる可能性があります。このレベルは、例えば環境センサーデータなど、次のデータがすぐに公開されるため個々の読み取りが失われても問題ない場合に使用できます。
· 「少なくとも 1 回」(メッセージの到達は保証されますが、重複が発生する場合があります)。
· 「正確に1回」。メッセージが確実に1回だけ届くことが保証されます。このレベルは、例えば重複や消失したメッセージが誤った課金につながる可能性がある課金システムなどで使用できます。
· トランスポートオーバーヘッドが小さく、ネットワークトラフィックを削減するためにプロトコル交換が最小化されています。
· 異常な切断が発生したときに関係者に通知するメカニズム。
MQTT バージョン 3.1.1 および 5.0 をサポートします。
パブリッシュ/サブスクライブメッセージパターンにより、1対多のメッセージ配信とアプリケーションの分離を実現します。
TsgcWSPClient_MQTT: MQTT Clientコンポーネント。