Was passiert, wenn in MQTT kein Abonnent für ein Thema vorhanden ist?

12

Die Situation ist wie folgt:

Es gibt einen Kunden, einen Verlag, er hat kein Thema abonniert. Dieser Client hat ein einzelnes Thema und veröffentlicht regelmäßig Daten für ihn. Es gibt jedoch keine anderen Clients , die dieses Thema abonniert haben.

Daher kann dieser arme und einsame Klient als abnormal angesehen werden ( Kapitel 5.4.8 ).

Serverimplementierungen überwachen möglicherweise das Clientverhalten, um potenzielle Sicherheitsvorfälle zu erkennen. Beispielsweise:

  • [...]

  • Senden unzustellbarer Nachrichten (keine Abonnenten der Themen)

Es hat keine Ahnung, wie viele Kunden sein Thema abonniert haben . Es ist also nicht bekannt, ob es sich um einen Client mit abnormalem Verhalten handelt.

Was mit einem solchen Client passiert, hängt von der Server-Implementierung ab? Was sind die Praktiken, es sollte einfach getrennt werden, aber wird es dann nicht versuchen, die Verbindung wiederherzustellen?

Bence Kaulics
quelle

Antworten:

9

Wie Sie sagen, hängt es von der Server-Implementierung ab, insbesondere von der QoS der übertragenen Nachricht, ob es sich um "mindestens einmal" handelt.

IMHO MQTT ist ein Broadcast-System, kein End-to-End-Protokoll zwischen zwei Computern, sodass wir nicht jedes Mal, wenn wir einen Betreff erstellen, unbedingt einen Abonnenten benötigen.

Ich kann alles posten (Temperatur, ...) und zwei Monate später etwas implementieren, das es liest, oder es sogar entfernen und an etwas anderes denken, während mein Sensor noch Daten veröffentlicht.

Goufalite
quelle