MQTT

MQTT[1] (Message Queuing Telemetry Transport[2]) est un protocole de messagerie publish-subscribe basé sur le protocole TCP/IP.

Il a été initialement développé par Andy Stanford-Clark (IBM) et Arlen Nipper (EuroTech). Il est conçu pour les connexions avec des sites distants où la bande passante du réseau est limitée.

MQTT 3.1.1 est un standard OASIS, la version 5 de la spécification est maintenant publiée depuis le 7 mars 2019[3].

Historique

Andy Stanford-Clark (IBM) et Arlen Nipper (Cirrus Link, puis Eurotech) sont les auteurs de la première version du protocole en 1999 qui a servi à surveiller un oléoduc dans le désert. L'objectif était d'avoir un protocole efficace en bande passante, léger et utilisant peu d'énergie de batterie, car la liaison satellite qu'ils utilisaient était très coûteuse à cette époque.

Agents MQTT

Il existe de nombreux agents MQTT disponibles, ils varient dans leur fonctionnalités et certains d'entre eux mettent en œuvre des fonctionnalités additionnelles.

Les principaux agents open-sources sont :

Bibliothèques clientes

De très nombreuses bibliothèques sont disponibles pour programmer des clients MQTT, pour la plupart des langages (C, C++, Java, JavaScript, PHP, Python…) et sur la plupart des plates-formes (GNU/Linux, Windows, iOS, Android, Arduino…).

Les projets Eclipse Paho (en) ainsi que wolfSSL offrent des implémentations libres et open-source des protocoles de messagerie ouverts et standards destinés aux applications nouvelles et émergentes du M2M (machine-to-machine) et de l'Internet des objets.

Applications

De nombreux projets mettent en œuvre MQTT :

  • Facebook Messenger : Facebook a utilisé des aspects de MQTT dans Facebook Messenger, cependant on ne connaît pas exactement ce qui est utilisé de MQTT dans Facebook Messenger ni pourquoi. [4]
  • La dernière version du système de contrôle de signalisation de IECC Scalable DeltaRail utilise MQTT pour les communications entre les différentes parties du système et les composants du système de signalisation.[5]

Dans un livre rouge intitulé Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry IBM décrit plusieurs exemples d'applications dans le domaine de la santé et de l'énergie.

Références

  1. MQTT 3.1.1 specification
  2. https://www.ibm.com/developerworks/lotus/library/expeditor-mqtt/
  3. https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html MQTT v5
  4. (en) Lucy Zhang, « Building Facebook Messenger », sur facebook.com/Engineering, Facebook, (consulté le ) : « By maintaining an MQTT connection and routing messages through our chat pipeline, we were able to often achieve phone-to-phone delivery in the hundreds of milliseconds, rather than multiple seconds. », p. 1
  5. (en) Daren Wood et Dave Robson, « Message broker technology for flexible signalling control » [PDF], sur irse.org, IRSE (en), (consulté le ), p. 7
  • Portail d’Internet
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.