Was passiert, wenn Mosquitto nicht mehr genügend Speicher zum Speichern von QoS 1/2 -Nachrichten hat?

8

In MQTT, Nachrichten mit QoS 1 oder 2 müssen mindestens einmal geliefert werden (QoS 2 Nachrichten müssen geliefert werden genau einmal). Wenn der Client nicht verbunden ist, muss der Broker die Nachricht speichern, bis der Client bereit ist, sie zu empfangen.

Der HiveMQ-Blog hat einen interessanten Punkt:

Aber was passiert, wenn ein Kunde längere Zeit nicht online geht? Die Einschränkung zum Speichern von Nachrichten ist häufig die Speichergrenze des Betriebssystems. In diesem Szenario gibt es keine Standardmethode. Es kommt ganz auf den Anwendungsfall an. In HiveMQ bieten wir die Möglichkeit, Nachrichten in der Warteschlange zu bearbeiten und zu löschen.

Wie geht Mosquitto mit dieser Situation um, da dies vom Makler abhängig zu sein scheint ? Stürzt es nur ab, wenn der Speicher knapp wird, oder werden alte Nachrichten endgültig gelöscht?

Aurora0001
quelle

Antworten:

9

Nachrichten werden auf der Festplatte gespeichert und nicht nur im Speicher gespeichert.

Sehen Sie sich die Optionen autosave_intervalund autosave_on_changean, wann die Nachrichten auf die Festplatte geschrieben werden.

Quelle

hardillb
quelle