diff --git a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/draft_overlay.json b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/draft_overlay.json deleted file mode 100644 index 55f8635..0000000 --- a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/draft_overlay.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "title": "Broker MQTT", - "_updated_at": "2026-05-16 19:47:56", - "slug": "broker", - "published": true, - "published_at": "2023-02-19 07:50", - "category": "domotique", - "tags": { - "tags": [ - "Zigbee2MQTT", - "MQTT", - "Home Assistant", - "Mosquitto", - "IoT", - "LXC" - ] - }, - "seo_title": "", - "seo_description": "", - "og_image": "https://www.abonnel.fr/file?uuid=f30c75f8-b3d5-4976-b6e1-a9b4e7d65829&name=cover.svg" -} diff --git a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/draft_overlay.md b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/draft_overlay.md deleted file mode 100644 index c344ff2..0000000 --- a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/draft_overlay.md +++ /dev/null @@ -1,30 +0,0 @@ -# Broker MQTT - -Un **broker MQTT** est un serveur qui implémente le protocole MQTT et orchestre les échanges entre clients selon un modèle *publish/subscribe*. Les producteurs publient des messages sur des *topics*, et le broker se charge de les relayer aux clients abonnés à ces topics. Ce découplage entre émetteurs et récepteurs en fait une brique centrale des architectures IoT et des systèmes distribués asynchrones. - -## Rôle du broker - -Au-delà du simple relais de messages, le broker assure plusieurs fonctions transverses : - -- **sécurité** : authentification, chiffrement TLS, listes de contrôle d'accès (ACL) ; -- **gestion des sessions** et reprise après reconnexion ; -- **gestion des abonnements** et de l'arborescence des topics ; -- **qualité de service (QoS)** avec trois niveaux : - - *0* — au plus une fois (best effort, sans accusé), - - *1* — au moins une fois (accusé de réception), - - *2* — exactement une fois (échange en quatre temps) ; -- **rétention** et stockage temporaire des messages pour les clients déconnectés. - -Un broker MQTT peut s'exécuter sur des cibles très variées — poste de travail, serveur cloud, passerelle IoT — et il existe de nombreuses implémentations, open source comme commerciales. Le choix dépend principalement de la volumétrie attendue, des exigences de sécurité et de l'écosystème cible. - -## Quelques implémentations courantes - -- **Mosquitto** — le broker le plus répandu dans les projets DIY et l'IoT léger ; léger, simple à déployer. -- **EMQX** (ex-EMQTT) — conçu pour absorber un très grand nombre de connexions simultanées, adapté aux déploiements industriels. -- **RabbitMQ** — broker multi-protocoles (AMQP, MQTT…) avec support commercial, pertinent quand MQTT cohabite avec d'autres protocoles. -- **ActiveMQ** — broker Apache supportant MQTT en plus de JMS et AMQP, intéressant dans un écosystème Java existant. -- **JoramMQ** — orienté intégration Java, plus rarement rencontré. - -## Mon choix - -Pour la suite, j'ai retenu **Mosquitto** pour sa légèreté, sa simplicité de configuration et sa large adoption dans la communauté IoT. Il sera installé dans un conteneur **LXC** sous Debian. \ No newline at end of file diff --git a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/index.md b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/index.md index 1ec1582..c344ff2 100644 --- a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/index.md +++ b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/index.md @@ -1,16 +1,30 @@ -# 120 · broker +# Broker MQTT -![Nom de la section](dummy.png) +Un **broker MQTT** est un serveur qui implémente le protocole MQTT et orchestre les échanges entre clients selon un modèle *publish/subscribe*. Les producteurs publient des messages sur des *topics*, et le broker se charge de les relayer aux clients abonnés à ces topics. Ce découplage entre émetteurs et récepteurs en fait une brique centrale des architectures IoT et des systèmes distribués asynchrones. -Un broker MQTT est un serveur qui implémente le protocole MQTT et qui gère la communication entre les différents clients MQTT. Le broker MQTT sert d'intermédiaire pour transmettre les messages publiés par les clients aux autres clients qui se sont abonnés aux sujets pertinents. +## Rôle du broker -Le broker MQTT peut être considéré comme un centre de messages pour les clients MQTT. Il reçoit des messages publiés par les clients, les stocke temporairement et les transmet aux clients abonnés aux sujets pertinents. Le broker peut également effectuer d'autres tâches telles que la sécurité, la gestion des sessions, la gestion des abonnements, la gestion de la qualité de service (QoS) et la gestion des thèmes (topics). +Au-delà du simple relais de messages, le broker assure plusieurs fonctions transverses : -Le broker MQTT peut être exécuté sur différents types de plateformes, telles que des ordinateurs personnels, des serveurs cloud ou des appareils IoT. Il existe plusieurs implémentations de broker MQTT open source et commerciales disponibles, qui peuvent être utilisées pour créer des systèmes MQTT personnalisés en fonction des besoins spécifiques de votre application. +- **sécurité** : authentification, chiffrement TLS, listes de contrôle d'accès (ACL) ; +- **gestion des sessions** et reprise après reconnexion ; +- **gestion des abonnements** et de l'arborescence des topics ; +- **qualité de service (QoS)** avec trois niveaux : + - *0* — au plus une fois (best effort, sans accusé), + - *1* — au moins une fois (accusé de réception), + - *2* — exactement une fois (échange en quatre temps) ; +- **rétention** et stockage temporaire des messages pour les clients déconnectés. -Il en existe quelques un : -- **ActiveMQ** développé par Apache et permet d'intégrer le protocole dans un serveur Apache httpd. -- **JoramMQ** pour une intégration Java de MQTT -- Mosquitto, le broker le plus utilisé actuellement dans les projets DIY -- **RabbitMQ** propose un support commercial -- **EMQTT**, conçu pour recevoir de très nombreuses connexions \ No newline at end of file +Un broker MQTT peut s'exécuter sur des cibles très variées — poste de travail, serveur cloud, passerelle IoT — et il existe de nombreuses implémentations, open source comme commerciales. Le choix dépend principalement de la volumétrie attendue, des exigences de sécurité et de l'écosystème cible. + +## Quelques implémentations courantes + +- **Mosquitto** — le broker le plus répandu dans les projets DIY et l'IoT léger ; léger, simple à déployer. +- **EMQX** (ex-EMQTT) — conçu pour absorber un très grand nombre de connexions simultanées, adapté aux déploiements industriels. +- **RabbitMQ** — broker multi-protocoles (AMQP, MQTT…) avec support commercial, pertinent quand MQTT cohabite avec d'autres protocoles. +- **ActiveMQ** — broker Apache supportant MQTT en plus de JMS et AMQP, intéressant dans un écosystème Java existant. +- **JoramMQ** — orienté intégration Java, plus rarement rencontré. + +## Mon choix + +Pour la suite, j'ai retenu **Mosquitto** pour sa légèreté, sa simplicité de configuration et sa large adoption dans la communauté IoT. Il sera installé dans un conteneur **LXC** sous Debian. \ No newline at end of file diff --git a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/meta.json b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/meta.json index cf10cd9..ed67a1b 100644 --- a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/meta.json +++ b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/meta.json @@ -1,18 +1,36 @@ { "uuid": "f30c75f8-b3d5-4976-b6e1-a9b4e7d65829", "slug": "broker", - "title": "120 · broker", + "title": "Broker MQTT", "author": "cedric@abonnel.fr", "published": true, - "published_at": "2023-02-19 07:50:53", + "featured": false, + "published_at": "2023-02-19 07:50", "created_at": "2023-02-19 07:50:53", - "updated_at": "2023-02-19 07:50:53", - "revisions": [], + "updated_at": "2026-05-16 19:47:58", + "revisions": [ + { + "n": 1, + "date": "2026-05-16 19:47:58", + "comment": "Titre modifié, catégorie modifiée, tags modifiés, contenu modifié, image de couverture modifiée", + "title": "120 · broker" + } + ], "cover": "cover.svg", "files_meta": [], "external_links": [], "seo_title": "", "seo_description": "", - "og_image": "", - "category": "Électronique" + "og_image": "https://www.abonnel.fr/file?uuid=f30c75f8-b3d5-4976-b6e1-a9b4e7d65829&name=cover.svg", + "category": "domotique", + "tags": { + "tags": [ + "Zigbee2MQTT", + "MQTT", + "Home Assistant", + "Mosquitto", + "IoT", + "LXC" + ] + } } diff --git a/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/revisions/0001.md b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/revisions/0001.md new file mode 100644 index 0000000..1ec1582 --- /dev/null +++ b/f30c75f8-b3d5-4976-b6e1-a9b4e7d65829/revisions/0001.md @@ -0,0 +1,16 @@ +# 120 · broker + +![Nom de la section](dummy.png) + +Un broker MQTT est un serveur qui implémente le protocole MQTT et qui gère la communication entre les différents clients MQTT. Le broker MQTT sert d'intermédiaire pour transmettre les messages publiés par les clients aux autres clients qui se sont abonnés aux sujets pertinents. + +Le broker MQTT peut être considéré comme un centre de messages pour les clients MQTT. Il reçoit des messages publiés par les clients, les stocke temporairement et les transmet aux clients abonnés aux sujets pertinents. Le broker peut également effectuer d'autres tâches telles que la sécurité, la gestion des sessions, la gestion des abonnements, la gestion de la qualité de service (QoS) et la gestion des thèmes (topics). + +Le broker MQTT peut être exécuté sur différents types de plateformes, telles que des ordinateurs personnels, des serveurs cloud ou des appareils IoT. Il existe plusieurs implémentations de broker MQTT open source et commerciales disponibles, qui peuvent être utilisées pour créer des systèmes MQTT personnalisés en fonction des besoins spécifiques de votre application. + +Il en existe quelques un : +- **ActiveMQ** développé par Apache et permet d'intégrer le protocole dans un serveur Apache httpd. +- **JoramMQ** pour une intégration Java de MQTT +- Mosquitto, le broker le plus utilisé actuellement dans les projets DIY +- **RabbitMQ** propose un support commercial +- **EMQTT**, conçu pour recevoir de très nombreuses connexions \ No newline at end of file