Qos0
Il mittente invia il messaggio una sola volta, senza tentazioni, e il broker non restituisce un messaggio di conferma. Nel caso di Qos0, il broker potrebbe non ricevere il messaggio, come mostrato nella figura seguente:
Qos1
Il mittente invia un messaggio almeno una volta per assicurarsi che il messaggio raggiunga il broker, e il broker deve restituire un messaggio di conferma PUBACK. Nel caso di Qos1, il broker può accettare messaggi duplicati, come mostrato nella figura seguente:
Qos2
Qos2 utilizza la conferma a due stadi per assicurarsi che i messaggi non vengano persi né duplicati. Nel caso di Qos2, il broker riceverà sicuramente il messaggio una sola volta, come mostrato nella figura seguente:
Qos1 VS Qos2
Qos2 avrà molti overhead rispetto a Qos1 perché il broker ha due azioni aggiuntive:
- Deduplicazione. Per garantire che i messaggi non vengano duplicati, il broker deve effettuare la deduplicazione;
- Assicurati che il messaggio di risposta PUBREC raggiunga il client. Il broker deve attendere la risposta del cliente al messaggio PUBREC nel PUBREL, e solo dopo aver ricevuto un messaggio di conferma dal cliente può consegnare il messaggio all'abbonato.
|