MQTTってどういう仕組みなの?
こんな疑問にイラストを使って分かりやすく説明します。
この記事で分かること
- MQTTの概要がわかる
- MQTTの仕組みがわかる
MQTTとは
MQTTとは 「Message Queue Telemetry Transport」 の略。1999年にIBMによって設計されたアプリケーション層のプロトコルです。非常にシンプルで軽量なプロトコルであるため、M2M (Machine-to-Machine) や IoT (Internet of Things) といったデバイス間のリアルタイムなデータを効率的に交換できます。
現在はデバイス間の通信を行う場合、アプリケーション層のプロトコルにはHTTP(Hyper Text Transfer Protocol)が多く使われています。しかし、今後のIoT機器のさらなる増加にともなうスケーリングの問題やIoT機器に求められる省電力性を考えた場合、HTTPのヘッダ長の大きさ、複雑性が問題となる可能性があります。したがって、HTTPよりも軽量で、単純なプロトコルが求められます。そこで開発されたのがMQTTというわけです。
MQTTの仕組み
MQTTはPub/Sub(Publish/Subscribeモデル)モデルと呼ばれる通信方式を採用しています。直訳するとPublishは出版、Subscribeは購読です。MQTTの仕組みは、雑誌への記事の投稿に似ています。出版者(パブリッシャ)は雑誌へ記事を投稿しまくり、雑誌の購読者(サブスクライバ)は購買登録して記事を好きなタイミングで読むことができます。これにより効率的に1:MやM:Nの通信が可能です。
Pub/Subモデルでは、パブリッシャ(出版者)とサブスクライバ(購読者)は直接通信しません。パブリッシャとサブスクライバとの間に、中間管理を行うブローカと呼ばれるサーバを介して通信を行います。
MQTTでは通常のPub/Subモデルの通信に加えて、ブローカがメッセージを保持しておく機能を持ちます。これによりパブリッシャがブローカに対して送信したメッセージを、後からブローカに接続したサブスクライバが受信できるという利点があります。
コメント