解決策
安価なセンサーとコントローラの群れが、途切れやすいセルラー回線や衛星回線を介して時折数バイトを送信する。そこでは、重くおしゃべりなプロトコルは使えない。
MQTTはブローカーベースのパブリッシュ/サブスクライブ型トランスポートである。デバイスはトピックにパブリッシュし、ブローカーがメッセージをサブスクライバーにルーティングする。メッセージを小さく、クライアントを極小に保ち、数百万台のデバイスの接続を想定して作られている。
信頼性は3つのサービス品質レベルと永続セッションとして階層化されており、再接続時には中断したところから再開できる。OASISが標準化したことで、MQTTはどのベンダーも提供できる中立的な選択肢となった。
達成したこと
ブローカープロトコルを極小かつ損失耐性のあるものにした
うまくいった理由
極小のヘッダーと小さなクライアントフットプリントは、最小限のリソースしかないマイクロコントローラ上で動作する。
パブリッシュ/サブスクライブは送信者と受信者を分離するため、システムは数百万のモノへとスケールする。
3つのQoSレベルにより、アプリケーションはexactly-onceと安価なat-most-onceのどちらかを選べる。
永続セッションは、IoTデバイスが置かれる不安定なセルラー回線を生き延びる。
応用できること
デバイスのリソースが乏しく、ネットワークが損失を伴う場合には、プロトコルを安価で耐障害性のあるものにして勝ちを取り、その後、オープンな標準化団体にそれを中立的なものにしてもらうとよい。
その後
MQTTはIoTメッセージングの支配的な標準となり、自動車、製造、通信、石油・ガス、スマートホームで採用され、あらゆる主要プラットフォーム上にブローカーとクライアントライブラリが存在する。OASISの下でのオープン標準という地位により、接続されたデバイスの群れにとっての中立的な基盤となった。
出典をたどる
出典
- MQTT Essentials - All The Core Concepts & Basics Explained HiveMQ · hivemq.com
- MQTT Version 5.0 OASIS Standard OASIS Open · docs.oasis-open.org