MQTT en une phrase
MQTT est un protocole de messagerie publish/subscribe, leger et conçu pour des reseaux instables et des devices contraints. Les clients publient vers un broker, les abonnes recoivent ce qui correspond a leurs topics.
Ce modele decouple emetteurs et recepteurs. Personne n'a besoin de connaitre l'autre.
Publish/subscribe vs request/response
HTTP est request/response : un client demande, un serveur repond. MQTT est evenementiel : les publications arrivent de façon asynchrone.
C'est ideal pour la telemetrie, les capteurs et les flux temps reel.
Le broker comme hub
Le broker route les messages, gere les abonnements et applique les regles de securite.
Il devient le coeur du systeme : retention, QoS, autorisations.
Topics et hierarchies
Les topics sont des chaines hierarchiques. Exemple: `home/kitchen/temperature`.
Les wildcards permettent d'ecouter des groupes entiers, utile pour des flottes d'appareils.
QoS : choisir la fiabilite
QoS 0 = au mieux, QoS 1 = au moins une fois, QoS 2 = exactement une fois.
Plus le QoS est eleve, plus le cout et la latence augmentent.
Sessions, retain, last will
MQTT supporte les sessions persistantes et les messages retenus pour les abonnes tardifs.
Le Last Will permet de publier un message si un client se deconnecte brutalement.
Quand MQTT est pertinent
MQTT brille pour l'IoT, la supervision de flottes, la domotique et les evenements temps reel.
Il est aussi utile quand la bande passante est limitee.
Quand MQTT est moins adapte
MQTT n'est pas ideal pour de gros payloads ou des APIs publiques orientées CRUD.
Dans ces cas, HTTP/REST reste souvent un meilleur choix.
