Der EMQ (Erlang MQTT Broker) ist ein "verteilter, massiv skalierbarer, hoch erweiterbarer MQTT-Nachrichtenbroker" mit einer gemeldeten "1,3 Millionen gleichzeitigen MQTT-Verbindungen", sodass möglicherweise eine große Anzahl von Clients ihn veröffentlichen und abonnieren kann. Es ist wahrscheinlich, dass einige Clients zu einem bestimmten Zeitpunkt getrennt werden.
Wie diese Frage Was passiert, wenn Mosquitto nicht mehr genügend Speicher zum Speichern von QoS 1/2 -Nachrichten hat? fragt nach Mosquitto:
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.
Wie behält EMQ QoS 1/2 -Nachrichten bis zur Zustellung bei, dh einen Neustart des Brokers oder in Bezug auf Speicherbeschränkungen?
Antworten:
Die Antwort scheint zu sein: es tut nicht . Dieses Problem auf ihrem Bug-Tracker sagt:
Nachdem ich ein paar weitere Probleme durchgearbeitet hatte, fand ich diesen Bericht :
Im Wesentlichen ab Version 2.0.5:
Nicht gerade ideal, aber dies scheint das aktuelle Verhalten zu sein. Wenn das Fortbestehen von Nachrichten für Ihren Anwendungsfall von entscheidender Bedeutung ist, verwenden Sie einen anderen Broker.
quelle