Courtier MQTT is the core component of the MQTT (Message Queuing Telemetry Transport) protocol. It is a lightweight, publish/subscribe model message transmission protocol that is widely used in Internet of Things (IoT) and M2M (machine-to-machine) communications. middle. MQTT Broker plays a key role in MQTT communication, responsible for managing client connections, receiving and processing messages published by clients, and delivering these messages to subscribers who subscribe to the corresponding topics. It is the middleman for communication between clients, ensuring reliable delivery and routing of messages.
Fonctions de base du courtier MQTT
Gestion de la connexion des clients
The MQTT Broker is responsible for managing all MQTT clients connected to it. When a client wishes to establish a connection with a Broker, it sends a connection request to the Broker. The Broker will verify the client’s identity and permissions, and establish a long connection with the client after successful verification. In this way, the Broker can maintain connections with multiple clients at the same time.
l'acheminement des messages
In MQTT communication, the client sends information to the Broker by publishing messages, and the Broker is then responsible for routing these messages to the subscribers subscribed to the corresponding topics. This is a fundamental feature of the publish/subscribe pattern, allowing multiple subscribers to receive the same message at the same time. The Broker maintains a list of subscribers and delivers the message to all subscribers who have subscribed to the relevant topic when a new message is published.
Stockage et distribution des messages
Le courtier MQTT peut stocker les messages qui ne sont pas reçus à temps pour s'assurer que même si le client est hors ligne, les messages peuvent être livrés lorsque le client est à nouveau en ligne. Ce mécanisme de stockage et de livraison des messages peut garantir la fiabilité et la durabilité des messages, et les messages peuvent être correctement livrés aux abonnés même lorsque le réseau est instable ou que le client n'est pas disponible.
Gestion des abonnements
Le Broker est responsable de la gestion de la liste des clients abonnés au thème. Lorsqu'un nouveau client s'abonne ou se désabonne d'un thème, l'Agent de négociation met à jour la liste d'abonnement en conséquence. De cette manière, l'Agent de liaison sait exactement quels clients sont abonnés à quels sujets, de sorte qu'il peut délivrer les messages aux bons abonnés lorsqu'ils sont publiés.
Prise en charge de la qualité de service (QoS)
Le MQTT protocol supports multiple quality levels for message delivery, including QoS 0 (at most once), QoS 1 (at least once), and QoS 2 (only once). QoS defines the reliability of message delivery, and the Broker will ensure the reliability of message delivery based on the client’s QoS requirements. For example, at QoS 1 level, the Broker will ensure that the message is delivered to the subscriber at least once, while at the QoS 2 level, the Broker will ensure that the message is delivered only once and no duplicate delivery occurs.
Importance du courtier MQTT
MQTT Broker is the core of the entire MQTT communication architecture, which provides key support for messaging between clients. In the Internet of Things and M2M communications, a large number of devices and applications require real-time message interaction, and MQTT Broker, as a middleware, can ensure efficient delivery and reliable routing of these messages.
It decouples direct connections between clients, making the entire communication system more flexible, scalable and fault-tolerant. In addition, MQTT Broker also provides support for important features such as QoS and message persistence, making the communication process more reliable and stable.
Résumer
En tant que composant central de la communication MQTT, le courtier MQTT joue un rôle clé et est responsable de la gestion des connexions des clients, de l'acheminement des messages, de la gestion des abonnements et d'autres tâches. . Il joue un rôle indispensable dans l'internet des objets et les communications M2M, en permettant aux appareils et aux applications de communiquer efficacement en temps réel, et en fournissant un soutien technique solide pour le développement et l'application de l'internet des objets.