Qos0
Expeditorul trimite mesajul o singură dată, fără încercări, iar brokerul nu returnează un mesaj de confirmare. În cazul Qos0, brokerul poate să nu primească mesajul, așa cum se arată în figura următoare:
Qos1
Expeditorul trimite un mesaj cel puțin o dată pentru a se asigura că mesajul ajunge la broker, iar brokerul trebuie să returneze un mesaj de confirmare PUBACK. În cazul Qos1, brokerul poate accepta mesaje duplicate, așa cum este prezentat în figura următoare:
Qos2
Qos2 folosește confirmarea în două etape pentru a se asigura că mesajele nu sunt pierdute și nu sunt duplicate. În cazul Qos2, brokerul va primi cu siguranță mesajul o singură dată, așa cum se vede în figura următoare:
Qos1 VS Qos2
Qos2 va avea mult overhead comparativ cu Qos1 deoarece brokerul are două acțiuni suplimentare:
- Deduplicare. Pentru a se asigura că mesajele nu sunt duplicate, brokerul trebuie să efectueze deduplicarea;
- Asigurați-vă că mesajul de răspuns PUBREC ajunge la client. Brokerul trebuie să aștepte răspunsul clientului la mesajul PUBREC din PUBREL, iar doar după ce primește un mesaj de confirmare de la client poate livra mesajul către abonat.
|