MQTT, самая популярная технология IoT, что означают три уровня качества обслуживания QoS. Эта статья обязательно вам поможет!
MQTT, самая популярная технология IoT, что означают три уровня качества обслуживания QoS. Эта статья обязательно вам поможет!

MQTT — это упрощенный протокол публикации-подписки, используемый поверх TCP/IP. Он часто используется в сценариях Интернета вещей. MQTT использует брокер сообщений для отправки сообщений между отправителями, которые публикуют сообщения, и получателями, которые заинтересованы в этих сообщениях. можно публиковать и подписываться на сообщения.

MQTT определяет три уровня качества обслуживания, то есть QoS. Что означают эти три уровня? Предполагается, что многие друзья, использующие MQTT, не обращают на это особого внимания. Иногда вы сталкиваетесь с проблемами, особенно странными. об этом Сегодня Руй Ге расскажет вам больше о QoS MQTT. Давайте сразу начнем!

Процесс передачи сообщения MQTT

Прежде чем запускать QoS, нам необходимо знать MQTT.

MQTT выполняет три роли:

  • Издатель: издатель сообщения.
  • Брокер: место передачи сообщений, также называемое брокером.
  • Подписчик: Подписчик сообщения

Из описаний трех ролей нетрудно обнаружить, что процесс доставки сообщений выглядит примерно следующим образом:

  • Паблишер генерирует сообщения и доставляет их Брокеру;
  • Брокер передает сообщения разным подписчикам;
  • Затем подписчик подписывается на ответное сообщение.

Стоит отметить, что публикация и подписка также имеют понятие Topic, что это такое.

В приведенном выше описании мне интересно, есть ли у вас какие-либо сомнения. Издатель отправляет сообщение Брокеру, а Брокер распространяет его во внешний мир. Знает ли Брокер, как его отправить? Бессмысленная групповая переписка? Все ли сообщения подписчики получают бездумно?

Если это действительно так, то это повсюду!

Так что Тема приходит на помощь!

Если вы не знаете, как понять эту тему, вы думаете об этой теме как о канале или об одной из тем как о моем официальном аккаунте [Станция Network Technology Alliance Station]. Если вы читаете статью, следите за официальной страницей. учетная запись в WeChat. Она определенно ограничена. Вы являетесь подписчиком, а я — автором, поэтому это эквивалентно издателю сообщения, а сервер WeChat эквивалентен брокеру. Я думаю, вы понимаете эту концепцию, верно?

Вот представьте, вы подписались на все паблики? Или вы можете видеть новости, опубликованные в каждом общедоступном аккаунте? Или сервер WeChat отправляет вам все официальные сообщения учетной записи?

Является ли ответ на все это: «Нет»?

Итак, первое, что нужно прояснить, это то, что метод push-уведомлений официальных аккаунтов WeChat аналогичен модели «публикация-подписка». Как же понять эту тему?

Вы можете просто понимать это как мой официальный аккаунт [Станция Альянса сетевых технологий], но в области WeChat тема может быть [Станция Альянса технологий/Информационных технологий/Сетевых технологий].

В MQTT темы также соединяются через «/», который является каналом сообщений. Издатель сообщения публикует сообщение в определенной теме, и подписчики, подписавшиеся на эту тему, могут получить это сообщение.

Выше приведено краткое объяснение процесса передачи сообщений MQTT. Далее мы представляем QoS MQTT.

Что такое качество обслуживания (QoS)?

Уровень качества обслуживания (QoS) — это соглашение между отправителем сообщения и получателем сообщения, которое определяет гарантии доставки конкретного сообщения.

В MQTT есть 3 уровня QoS:

  • QoS 0
  • QoS 1
  • QoS 2

Кто-то правГарантии доставки конкретных сообщенийэтотиндивидуальный Я не совсем понимаю короткие предложения.,как называетсягарантия доставки

Позвольте мне привести вам пример. Например, если вы пойдете в определенную компанию, чтобы найти кого-то, первое, что вы увидите после прибытия в эту компанию, — это персонал стойки регистрации. , ты говоришь: «Здравствуй, красавица, я ищу тебя». Король компании, пожалуйста, позови меня!»

В это время компания может быть слишком занята и администратор красоты не услышала ваше сообщение, поэтому вы продолжали спрашивать там, или просто спросили один раз и не заботились о результате.

Другая ситуация заключается в том, что сотрудники стойки регистрации узнали об этом и пошли искать менеджера, которого вы искали. Возможно, менеджер пошел на встречу и не был на своем столе. В это время на стойке регистрации также есть две ситуации. ходить туда-сюда, пока он не найдет, надо один раз поискать, неважно, найдешь или нет, больше искать не будешь.

Итак, если вы понимаете вышесказанное, я снова расскажу о QoS, и вы легко это поймете.

Качество обслуживания в MQTT

Говоря о QoS в MQTT, необходимо учитывать два аспекта обмена сообщениями:

  • Сообщения передаются от клиента публикации (Publisher) брокеру (Broker).
  • Доставка сообщения от брокера подписчику.

Мы рассмотрим два индивидуальных аспекта обмена сообщениями отдельно.,Потому что между ними естьсуществоватьнюансы。Публикация сообщений клиентам через посредника(ты)существовать Агенту(стойка регистрации)发送消息时定义了消息的 QoS 级别(сколько раз кричал),Прокси используется для каждой индивидуальной подписки, существующего клиента, определенного в процессе подписки. QoS Уровень передает это сообщение подписывающемуся клиенту в это время, если подписывающийся клиент определяет. QoS ниже клиента публикации,тогда агент будетнижеКачество сервиса отправки сообщений。

Как вы понимаете последнее предложение, например, ты стоишь? регистрация крик один раз, обычно, стойка регистрации поможет тебе пойти на королевский вокзал и крикнуть один раз,Или не кричи,этотиндивидуальный Понимать,этотиндивидуальныйда Нетда Сразуда【Агент будетнижеКачество сервиса отправки сообщений】понимание,Или ты кричишь дважды, чтобы стоять на регистрации,стойка регистрация может помочь ты крикнешь один раз、Крикнуть дважды (максимум)、Даже не крича.

Если вы сможете понять примеры, которые я привел выше, вам будет очень легко понять QoS на каждом уровне ниже!

Почему бы тебе сначала не поставить лайк статье, старик!

QoS 0

максимум один раз

QoS 0 Доставка осуществляется с максимальной эффективностью, и доставка сообщения не гарантируется. когда MQTT клиент с QoS 1 При запуске MQTT Брокер не подтверждает получение, сообщение не сохраняется и не отправляется отправителем повторно, QoS 0 часто называют“Выбросить”,Обеспечить и положить в основу TCP Та же гарантия, что и в договоре.

QoS 1

хотя бы один раз

QoS 1 Гарантировано сообщение, хотя бы один раз передан получателю, MQTT Агент будет использовать PUBACK Подтвердите сообщение. MQTT Клиент будет хранить сообщение до тех пор, пока не получит его от брокера. PUBACK,MQTT Клиент может доставить сообщение несколько раз, пока не получит подтверждение от брокера.

Отправитель использует идентификатор пакета в каждом пакете для сопоставления пакета PUBLISH с соответствующим пакетом PUBACK, и если отправитель не получает пакет PUBACK в течение разумного времени, отправитель повторно отправляет пакет PUBLISH.

QoS 2

только один раз

QoS 2 да MQTT Самый высокий уровень обслуживания в России. Этот уровень гарантирует, что каждое сообщение будет получено предполагаемым получателем только один раз, QoS 2 дасамый безопасныйисамый медленныйуровень качества обслуживания,该保证由发送方и接收方之间的по крайней мере двапросить/поток ответов(четыре рукопожатия)поставлять,发送方и接收方使用原始 PUBLISH Идентификатор пакета сообщения для координации доставки сообщения.

Когда получатель получает пакет PUBLISH QoS 2 от отправителя, он обрабатывает сообщение публикации соответствующим образом и отвечает отправителю пакетом PUBREC, подтверждающим пакет PUBLISH. Если отправитель не получает пакет PUBREC от получателя, он снова отправляет пакет PUBLISH с флагом дубликата (DUP) до тех пор, пока не будет получено подтверждение.

Подвести итог

в последние годы,Развитие Интернета вещей,Делаем протокол MQTT все более ароматным,Качество обслуживания в MQTT также является важным понятием в даQoSдаMQTT.,Когда используется ты,Я нашел тебя и, очевидно, хотел отправить сообщение,Но журнал показывает, что ты отправил несколько сообщений.,Тыда действительно опубликовала несколько сообщений? Нет,Вы можете проверить настройки QoS вашего,Тогда, если вы не понимаете, вы можете прочитать больше об этой статье.,В этой статье подробно представлены три уровня QoS.,Надеюсь, он принесет вам урожай!

Если вы считаете, что эта статья поможет вам понять концепцию QoS MQTT, не забудьте поставить лайк и собрать ее. Если у вас есть какие-либо вопросы, обсудите со мной в области комментариев. Спасибо за чтение!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose