Qos0
Der Absender sendet die Nachricht nur einmal, ohne erneute Versuche, und der Broker erhält keine Bestätigungsnachricht. Im Fall von Qos0 kann der Broker die Nachricht möglicherweise nicht empfangen, wie in der folgenden Abbildung gezeigt:
Qos1
Der Absender sendet mindestens einmal eine Nachricht, um sicherzustellen, dass die Nachricht den Broker erreicht, und der Broker muss eine Bestätigungsnachricht per PUBACK zurücksenden. Im Fall von Qos1 kann der Broker doppelte Nachrichten akzeptieren, wie in der folgenden Abbildung dargestellt:
Qos2
Qos2 verwendet zweistufige Bestätigung, um sicherzustellen, dass Nachrichten nicht verloren gehen und nicht dupliziert werden. Im Fall von Qos2 erhält der Broker die Nachricht definitiv nur einmal, wie in der folgenden Abbildung dargestellt:
Qos1 VS Qos2
Qos2 hat im Vergleich zu Qos1 viel Overhead, da der Broker zwei zusätzliche Aktionen hat:
- Deduplizierung. Um sicherzustellen, dass Nachrichten nicht dupliziert werden, muss der Broker Deduplizierung durchführen;
- Stellen Sie sicher, dass die Antwortnachricht PUBREC den Client erreicht. Der Broker muss auf die Antwort des Kunden auf die PUBREC-Nachricht im PUBREL warten, und erst nach Erhalt einer Bestätigungsnachricht vom Kunden kann der Broker die Nachricht an den Abonnenten zustellen.
|