- 開発技術
- スマホ・IoT
MQTTについて知る

MQTTとは?
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
MQTT(Message Queuing Telemetry Transport)とは通信プロトコルの一種です。一般的に使用されるHTTPと同じように、情報のやり取りに使用します。
MQTTの仕組み
HTTPはユーザーが欲しい情報のリクエストを送信し、サーバーがそれを返すような仕組みとなっています。
MQTTは「パブリッシャー」、「サブスクライバー」、「ブローカー」の3点で構成されています。
「パブリッシャー」は情報を提供する役割を担うクライアント、「サブスクライバー」は情報を受信するクライアント、そして「ブローカー」はその橋渡し役となるサーバーを指します。
HTTPと大きく異なるのは情報送信の方法です。情報を提供するパブリッシャーは情報を欲しがっている特定のサブスクライバーに情報送信をするわけではなく、ブローカーに向けて送信し、サブスクライバーは欲しい情報をブローカーに問い合わせます。
MQTTの特徴
MQTTはHTTPと比較して、かなり軽い通信方法となっています。その理由は、送信する相手が誰か明確なため、ヘッダ情報が少なくデータ量が非常に小さく済むためです。例えばIoTなどの、使用できるデータ量が非常に小さい中で通信を行いたい場合、MQTTはかなり効果的に役割を果たしてくれる通信方法といえるでしょう。
対してHTTPと比較すると、「欲しい情報を要求したらすぐに情報が返ってくる」というリアルタイム性は期待できません。例えば1秒に1回緯度と経度を送信するような、使用頻度が高くデータ量の少ない情報の送受信に適した通信方法といえるでしょう。
まとめ
・MQTTは「パブリッシャー」「サブスクライバー」そして仲介役の「ブローカー」の関係性で成り立つ通信方法
・HTTPと比較して無駄がなく、データ量がかなり軽い
・ただしサブスクライバーが情報を欲しがっても、パブリッシャーがすぐに情報を投げてくれるとは限らない(リアルタイム性がない)
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>