そこはかとなく書くよん。

Python、Ansible, Sphinx、golang、PostgreSQL、翻訳、などをだらだらと

このエントリーをはてなブックマークに追加

MQTTのMQはMessage Queueではありません

MQTTは "Message Queueing Telemetry Transport"の略である、との言説をたまに見かけます。しかし、使ったことがある方なら分かるように、MQTTにはQueueの機能はありません。MQTTのMQは Message Queueの略ではありません。

OASIS 標準となっているMQTT Version 3.1.1ではMQTTはなにの略称かを明示していません。また、MQTTのWikipediaにも (formerly Message Queue Telemetry Transport) とあるようにかつては確かにMessage Queueだったけれど今は違う、と記されています。残念なことに、OASISのTCの名前はMessage Queuingとなっていますが、これはTCを作った時のままということです。

MQTTとは

MQTTは、元々IBMが開発していたものでした。IBMは、後に Websphere MQとなるIBM MQを開発しており、その一連のシリーズということで、MQという言葉が付けられたものです。このことは上記 Wikipedia にも明示されています。

OASISに寄贈した時点でMQTTという名前を変えようかという議論が起きましたが、10年以上使われていた名称のため、変えるのもどうかということで、そのままになって、正式名称を明示しないことに落ち着いたようです。

この話はこちらに投稿されています。

MQTTには Queueの機能はありません

大事なことなので二回言いました。