von Ponlakshmi
Wissen Sie, was Halten Sie Alive inMQTund Was macht es? Wir werden über MQTT’s Keep Alive Umsetzung lernen und warum es wichtig ist in diesem Blog. Die lebendige Funktion, wie ihr Name schon sagt, wird verwendet, um eine Netzwerkverbindung lebendig zu halten. Dieser Begriff wird nicht nur verwendet in MQTT; es wird auch in einer Vielzahl von anderen Protokollen verwendet. Die Verbindung zwischen einem Server und Client bleibt verfügbar und dass beide Benutzer sich bewusst sind, dass sie verbunden sind. Durch die Garantie, dass nur eine Verbindung wird pro Client verwendet, Netzüberlastung und Latenz sind reduziert. Dies ist besonders nützlich bei Machine-to-Machine Interaktionen, weil die Knoten sehr begrenzte Ressourcen. Aus diesem Grund ist die Keep Alive Funktion notwendig inMQTT BrokerClient-Verbindung & Kommunikation.
Wir wissen schon, dass MQTT auf derTCP/IP-Modell, die sicherstellt, dass Pakete zuverlässig, geordnet ausgetauscht werden und fehlerfrei. Tatsächlich beschäftigt die Transportschicht von MQTTDas ist ein Fehler., die einschließlich seine eigene Keep Alive Fähigkeit. Dann könnten Sie sich fragen, warum es eine Anforderung für eine zusätzliche Aufrechterhaltung lebendig Umsetzung der Anwendung Schicht. Auch bei der TCP bleiben die Implementierung in realen Anwendungen, insbesondere im Fall von IoT-Geräten mit so viele Einschränkungen im Netzwerk, die Übertragung zwischen kommunizierenden Clients kann aus sync aufgrund Kunden, die abstürzen, unzuverlässige Netzwerke oder andere Probleme. Ferner wird als MQTT Client entkoppelt, wenn eine Verbindung nur halboffen, die Seite die noch angeschlossen ist, sendet weiterhin Nachrichten und wartet auf Bestätigungen.
Wenn der Client sich mit dem Broker verbindet, sendet der Client den Broker ein lebendiges Zeitintervall in Sekunden. Dieses Intervall gibt die maximale Zeit an, die der Broker und der Client nicht in der Lage sein können, Kommunikation miteinander. Es besteht keine Notwendigkeit, eine zusätzliche Nachricht zu senden, um zu überprüfen, ob die Verbindung noch offen ist als bis Nachrichten werden innerhalb der Dauer gesendet. Wenn der Client während der Dauer, der Makler muss einePlüsch Anfrage sendenzu zeigen, dass es noch erreichbar ist. Der Broker reagiert auf den Kunden mit einemAntwort Paket, und die Verbindung bleibt erhalten. Der lebende Timer wird zurückgesetzt, wenn der Ping antwortet werden empfangen und der Zyklus neu gestartet. Ein Client, der keine Nachricht oder ein Ping-Anforderungspaket sendet eine halbe die Zeiten, in denen das lebendige Intervall bleibt, werden vom Broker getrennt. Wenn der Client kein Ping bekommt Antwortpaket von der Broker, die Verbindung wird erwartet geschlossen werden. Wenn der Client eineLetzter Will und Testamentdie Nachricht, die Die LWT-Nachricht wird während dieses Abschaltens an alle abonnierten Clients weitergeleitet.
Hier ist ein einfaches Beispiel dafür, wie MQTT die Funktion der Netzwerkkommunikation am Leben hält glatt. Sind bestimmte Umstände, die sich möglicherweise auf die Temperatur beziehen, erfüllt, so ist ein mit der Netzwerk wird voraussichtlich eine Nachricht senden. Die genaue Bedingung, die die zu sendende Nachricht verursacht, kann nicht gemessen werden, und es kann jederzeit passieren. Dieser Sensor ist vorteilhaft, um die Sicherheit von netzgebundenen automatisierten Verfahren. Einstellung das lebende Intervall zu einer niedrigen Schätzung sichert, dass der Broker immer über den Status des Verbindung des Clients. Eine bedingte Nachricht wird gesendet, oder ein stetiger FlussKÖNIGREICH Nachrichtenwird überprüfen, ob der Client angeschlossen ist. Wenn Zeitintervall überschritten wird, der Broker beendet die Verbindung und sendet den letzten Willen und Testament Nachricht. Dies sollte Warnungen oder Alarme bei einer wesentlichen Netzkomponente wie diesem Sensor enthalten, so dass präventive Maßnahmen können fertig.
Kunden, die den Kontakt mit ihrem Broker verloren haben, werden in den meisten Fällen versuchen, wieder zu verbinden. MQTT ermöglicht Broker zu tun ein Client-Übernahme, die es dem Broker erlaubt, eine halboffene Verbindung zu stornieren und den gleichen Client zu lassen eine neue Verbindung. Es ist ein Ausfall-sicher, um zu verhindern, dass Geräte aus dem Netzwerk aus dem Netzwerk aus, was auch immer Zustand ausgelöst halboffene Verbindung. Die Teilnahme von Brokern an Kundenübernahmen zu ermöglichen, kann wesentlich sein, um die Kommunikation in einer MQTT-Netzwerk. Die Übernahme sorgt dafür, dass die Fähigkeit des Kunden, die Kommunikation mit dem Broker wiederherzustellen ist von der Schwierigkeiten, die zu einer halboffen Verbindung führten. Es eliminiert einen potentiellen Fehlerpunkt in der Netzwerk, wenn die Kunden nicht in der Lage sind, Verbindungen alleine zu beenden.
Ein weiterer Grund zu sagen MQTT ist eine tolle Lösungfür aktuelle verteilte Netzwerke und Interdevice-Kommunikation leben. Sie können eine robuste Netzwerklösung entwerfen, die instabile Instanzen ertragen kann Verbindung mit ausreichend Konfiguration.
Mehr über das Protokoll erfahren,