Модуль 2. Состояния и гарантии · Урок 4 из 7
Урок 4. QoS, Last Will и состояния online/offline
Изучаем, что обещают уровни доставки и где остаются риски.
Чему вы научитесь
Различать QoS 0/1/2, повторные сообщения и уведомление об аварийном отключении.
Три уровня QoS
QoS 0 — отправка без подтверждения уровня MQTT, «не более одного раза». QoS 1 предусматривает подтверждение и возможную повторную доставку, «как минимум один раз». QoS 2 использует более сложное согласование и обеспечивает «ровно один раз» в рамках предусмотренного обмена между MQTT-сторонами.
QoS 2 не гарантирует, что физическое реле выполнило команду: транспорт сообщения и результат работы исполнительного механизма — разные уровни. Для реального действия нужна обратная связь о состоянии.
Last Will and Testament
При установлении соединения клиент может зарегистрировать в брокере специальное Will-сообщение. Если соединение завершится неожиданно по условиям протокола, брокер публикует Will, например home/bridge/availability = offline. При штатном отключении клиента Will обычно не публикуется.
Will может быть retained, если это правильно соответствует модели состояний. Но он не заменяет самостоятельного контроля всех датчиков за шлюзом.
Сеансы и потери сети
Если подписчик временно не в сети, дальнейшее поведение зависит от параметров сессии, версии MQTT, QoS и политики брокера. Нельзя утверждать, что любой офлайн-подписчик автоматически получит все пропущенные сообщения. В нашем симуляторе намеренно нет устойчивых сессий и очередей.
Практическая работа
Заполните таблицу QoS 0/1/2: подтверждение, возможные повторы и ограничения. Затем объясните, почему даже QoS 2 требует контроля состояния замка или реле.
Составьте схему: клиент зарегистрировал Will «offline»; аварийное отключение; публикация брокера; отображение в системе.
Самопроверка: сформулируйте результат своими словами, а затем пройдите вопросы ниже. Если устройство или программа не доступны, выполните задание на бумаге или в учебном тренажёре.
Проверьте себя
Контрольные вопросы
Ответьте на все вопросы. При ошибке изучите пояснение и попробуйте ещё раз. Все задания бесплатны.
QoS 1 подтверждает доставку, но возможны повторные сообщения.
Состояние нагрузки проверяют отдельно.
Правильных ответов: 0 из 2
Урок завершён?
Повторите ключевые идеи и убедитесь, что выполнили практическое задание.
Чтобы закончить урок, правильно ответьте на контрольный вопрос.