Qos0
Відправник надсилає повідомлення лише один раз, без повторних спроб, і брокер не повертає підтверджуючого повідомлення. У випадку Qos0 брокер може не отримати повідомлення, як показано на наступному рисунку:
Qos1
Відправник надсилає повідомлення принаймні один раз, щоб переконатися, що воно дійде до брокера, і брокер повинен повернути підтверджувальне повідомлення PUBACK. У випадку Qos1 брокер може приймати дублікати повідомлень, як показано на наступному рисунку:
Qos2
Qos2 використовує двоступеневе підтвердження, щоб гарантувати, що повідомлення не губляться і не дублюються. У випадку Qos2 брокер обов'язково отримає повідомлення лише один раз, як показано на наступному рисунку:
Qos1 проти Qos2
Qos2 матиме значні накладні витрати порівняно з Qos1, оскільки брокер має дві додаткові дії:
- Дедуплікація. Щоб гарантувати, що повідомлення не дублюються, брокер повинен виконати дедуплікацію;
- Переконайтеся, що відповідь PUBREC дійде до клієнта. Брокер повинен чекати відповіді клієнта на повідомлення PUBREC у PUBREL, і лише після отримання підтвердження від клієнта може передати повідомлення підписнику.
|