Qos0
Nadawca wysyła wiadomość tylko raz, bez powtórek, a broker nie odpowiada na potwierdzenie. W przypadku Qos0 broker może nie otrzymać wiadomości, co pokazano na poniższym rysunku:
Qos1
Nadawca wysyła wiadomość przynajmniej raz, aby upewnić się, że wiadomość dotrze do brokera, a broker musi zwrócić potwierdzenie w formie PUBACK. W przypadku Qos1 broker może akceptować duplikaty wiadomości, jak pokazano na poniższym rysunku:
Qos2
Qos2 wykorzystuje dwustopniowe potwierdzenie, aby zapewnić, że wiadomości nie zostaną utracone ani zdublowane. W przypadku Qos2 broker na pewno otrzyma tę wiadomość tylko raz, jak pokazano na poniższym rysunku:
Qos1 VS Qos2
Qos2 będzie miał dużo większych kosztów narzutu w porównaniu do Qos1, ponieważ broker ma dwie dodatkowe akcje:
- Deduplikacja. Aby zapewnić, że wiadomości nie są duplikowane, broker musi przeprowadzić deduplikację;
- Upewnij się, że wiadomość odpowiedzi PUBREC dotrze do klienta. Broker musi czekać na odpowiedź klienta na wiadomość PUBREC w PUBREL i dopiero po otrzymaniu potwierdzenia od klienta może przekazać wiadomość subskrybentowi.
|