MQTT, что означает Message Queuing Telemetry Transport, представляет собой облегченный протокол обмена сообщениями, предназначенный для ограниченных устройств и сетей с низкой пропускной способностью и высокой задержкой. Это особенно полезно для удаленных подключений, когда требуется небольшой объем кода или ограничена пропускная способность сети.
MQTT 5 — это последняя версия протокола, предлагающая множество улучшений по сравнению со своими предшественниками. Новые функции включают коды причин, интервалы окончания сеанса, псевдонимы тем, свойства пользователя, параметры подписки, функции запроса/ответа и общие подписки.
Мы рассмотрим эти новые функции, объясним, как популярные брокеры и клиентские SDK поддерживают MQTT 5, а также некоторые ключевые моменты при переходе с MQTT 3.1.1 на MQTT 5.
Краткая история и эволюция MQTT 5
MQTT был впервые разработан в конце 1990-х годов доктором Энди Стэнфордом-Кларком из IBM и Арленом Ниппером из Arcom (ныне Eurotech) для мониторинга нефтепроводов через спутниковые сети. Первоначальная версия MQTT v3.1 была разработана как легкая и простая в реализации, что делает ее подходящей для многих устройств Интернета вещей.
MQTT 3.1.1, стандарт OASIS, был выпущен в 2014 году и включал незначительные изменения в протокол для улучшения его ясности и совместимости. Его простота и эффективность доставки сообщений по сетям с ограниченными ресурсами привели к его широкому распространению в приложениях Интернета вещей.
Однако по мере развития индустрии Интернета вещей росли и потребности ее приложений. Это привело к разработке MQTT 5, выпущенной в 2019 году, в которой были представлены новые функции для удовлетворения этих меняющихся потребностей. Благодаря расширенным функциям MQTT 5 лучше приспособлен для удовлетворения сложных требований современных приложений Интернета вещей.
7 новых функций в MQTT v5
Коды причин: понимание отключений или сбоев
В отличие от своих предшественников, MQTT 5 может предоставить код причины для каждого пакета подтверждения, что дает нам лучшее понимание того, почему произошло отключение или сбой. Это улучшение помогает в устранении неполадок и обеспечивает более точную обработку ошибок.
Например, если клиенту не удается подключиться к серверу, сервер вернет код причины, объясняющий, почему соединение не удалось. Это может быть связано с рядом проблем: от неправильных учетных данных для входа до недоступности сервера.
Интервалы истечения срока действия сеанса: управление временем существования сеанса
Эта функция позволяет клиенту указать, как долго сервер должен поддерживать свою сессию после отключения клиента. В предыдущих версиях MQTT сеанс либо завершался сразу после отключения, либо продолжался неопределенное время.
С помощью MQTT 5 вы можете определить конкретный период, в течение которого сеанс должен оставаться активным после отключения. Это обеспечивает большую гибкость в управлении временем существования сеансов и экономит ресурсы сервера.
MQTT 5 представляет псевдонимы тем чтобы уменьшить накладные расходы в заголовках сообщений. В предыдущих версиях имя темы необходимо было включать в каждое сообщение, что приводило к увеличению размера пакетов.
С помощью псевдонимов тем теме можно назначить короткий числовой псевдоним. Этот псевдоним можно использовать вместо полного имени темы в последующих сообщениях, что значительно уменьшает размер заголовка MQTT и сохраняет пропускную способность сети.
Эта функция позволяет пользователям включать собственные метаданные в заголовки пакетов MQTT. Это может быть особенно полезно для приложений, которым необходимо отправлять дополнительную информацию вместе с сообщениями MQTT, например временную метку сообщения, местоположение устройства или другие данные, специфичные для приложения. Свойства пользователя обеспечивают большую гибкость и контроль над обменом сообщениями MQTT.
Варианты подписки: детальное управление подпиской
MQTT 5 позволяет клиентам указывать как они хотят получать сообщения по каждой подписанной теме. Например, клиенты теперь могут указать, хотят ли они получать сохраненные сообщения для конкретной подписки или хотят ли они получать сообщения, даже если они имеют тот же уровень QoS (качество обслуживания), что и подписка.
Запрос/ответ: разрешение клиентам отвечать на указанную тему
Ассоциация функция запроса/ответа позволяет клиенту указать тему, которую сервер может использовать для отправки прямого ответа.
В более ранних версиях MQTT, если клиент хотел отправить ответ на сообщение, он должен был опубликовать ответ в теме, а исходный отправитель должен был быть подписан на эту тему, чтобы получить ответ. Благодаря функции запросов/ответов MQTT 5 связь между клиентами и серверами становится намного более эффективной и простой.
Общая подписка: функция балансировки нагрузки для подписчиков
Эта функция позволяет нескольким клиентам совместно использовать подписку. Когда сообщение публикуется в общей теме, сервер распределяет сообщение одному из клиентов в общей подписке, эффективно распределяя нагрузку на сообщения.
Эта функция особенно полезна в сценариях, когда у вас работает несколько экземпляров службы и вы хотите равномерно распределить рабочую нагрузку между ними.
Текущая поддержка брокерских и клиентских SDK в MQTT 5.0
Протокол MQTT 5.0 был хорошо принят сообществом Интернета вещей, и многие MQTT-брокеры и в комплекты разработки клиентского программного обеспечения (SDK) добавлена его поддержка. Крупнейшие брокеры MQTT уже реализовали функции MQTT 5.0 на своих платформах, что позволяет пользователям использовать преимущества нового протокола.
Что касается клиентского SDK, такие библиотеки, как Paho, имеющие широкую базу пользователей, добавили поддержку MQTT 5.0. Это означает, что разработчики теперь могут использовать функции MQTT 5.0 в своих приложениях IoT. Другими примерами клиентских SDK, поддерживающих MQTT 5.0, являются MQTT.js и MQTTnet.
Контрольный список для перехода с MQTT 3.1.1 на MQTT 5
Если вы сейчас используете MQTT 3.1.1, возможно, пришло время перейти на MQTT 5. Вот некоторые основные моменты, которые следует учитывать при переходе.
Обновление брокеров MQTT
После того, как вы оценили свою текущую инфраструктуру и решили продолжить миграцию, следующим шагом будет обновление ваших брокеров MQTT. Это предполагает установку последней версии вашего брокера MQTT, поддерживающей MQTT 5.0.
Обновление вашего брокера следует проводить с осторожностью, поскольку оно влияет на все ваши MQTT-клиенты. Целесообразно сначала протестировать нового брокера в непроизводственной среде, прежде чем развертывать его в рабочей среде. Кроме того, убедитесь, что конфигурация вашего брокера обновлена по мере необходимости для поддержки новых функций, представленных в MQTT 5.0.
Обновить клиентские библиотеки
После обновления ваших брокеров MQTT следующим шагом будет обновление клиентских библиотек MQTT. Как и при обновлении брокера, это обновление следует сначала выполнить в непроизводственной среде. Также убедитесь, что код вашего приложения обновлен для поддержки новых функций MQTT 5.0. Учтите, что это может потребовать некоторого рефакторинга кода.
Безопасность адреса
Хотя MQTT 5.0 содержит ряд улучшений, он также вводит новые аспекты безопасности. Например, благодаря новой функции свойств пользователя клиенты теперь могут отправлять брокеру собственные данные.
Хотя это мощная функция, ее можно использовать неправильно, если использовать ее неправильно. Поэтому важно оценивать все новые функции с точки зрения безопасности.
Некоторые из шагов, которые вы можете предпринять для обеспечения безопасности, включают использование новой расширенной функции аутентификации для повышения безопасности, ограничение свойств пользователя, которые клиенты могут отправлять только необходимым, и постоянный мониторинг любых подозрительных действий.
Мониторинг после миграции
Наконец, после того как вы перешли на MQTT 5.0 и реализовали его функции, важно постоянно следить за своей системой. Мониторинг не должен ограничиваться только техническими аспектами, такими как доставка сообщений или клиентские соединения.
Вам также следует следить за использованием новых функций MQTT 5.0 в ваших приложениях. Это даст вам представление о том, как эти функции улучшают ваши приложения и где можно внести дальнейшие улучшения.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :имеет
- :является
- :нет
- :куда
- 1
- 2014
- 2019
- 7
- a
- Учетная запись
- активно
- добавленный
- дополнительный
- Дополнительная информация
- адрес
- Принятие
- рекомендуемый
- После
- впереди
- пособие
- живой
- Все
- Позволяющий
- позволяет
- уже
- причислены
- среди
- an
- и
- любой
- Применение
- Приложения
- МЫ
- AS
- аспекты
- оценить
- назначенный
- Аутентификация
- Пропускная способность
- Использование темпера с изогнутым основанием
- BE
- становится
- было
- до
- не являетесь
- Преимущества
- Лучшая
- между
- Приносит
- широкий
- брокер
- Брокеры
- by
- CAN
- заботится
- изменения
- изменения
- ясность
- клиент
- клиентов
- код
- Коды
- Связь
- сообщество
- комплекс
- Конфигурация
- Свяжитесь
- связи
- Коммутация
- Рассматривать
- соображения
- продолжающийся
- непрерывно
- контроль
- правильно
- может
- Полномочия
- Текущий
- В настоящее время
- изготовленный на заказ
- данным
- решенный
- определять
- доставки
- поставка
- предназначенный
- развитый
- застройщиков
- Развитие
- устройство
- Устройства
- DID
- направлять
- отключение
- распространять
- сделанный
- dr
- два
- каждый
- Ранее
- легко
- фактически
- затрат
- эффективный
- или
- закончился
- расширение
- повышение
- обеспечивать
- Окружающая среда
- оборудованный
- ошибка
- оценивается
- Даже
- равномерно
- Каждая
- эволюция
- эволюционировали
- пример
- Примеры
- истечение
- Объяснять
- объясняя
- Эксплуатируемый
- Больше
- не удается
- Ошибка
- Особенность
- Особенности
- Во-первых,
- Трансформируемость
- след
- Что касается
- от
- передний
- полный
- функция
- далее
- Дайте
- Отдаете
- Go
- большой
- было
- обрабатывать
- Управляемость
- Есть
- Заголовки
- здесь
- история
- Как
- HTTPS
- IBM
- if
- немедленно
- Воздействие
- осуществлять
- в XNUMX году
- важную
- улучшать
- улучшение
- улучшение
- in
- включают
- включены
- промышленность
- информация
- Инфраструктура
- начальный
- размышления
- Установка
- пример
- случаев
- Взаимодействие
- в
- выпустили
- Представляет
- включать в себя
- включает в себя
- КАТО
- несколько устройств
- вопросы
- IT
- ЕГО
- JPG
- всего
- хранится
- Основные
- больше
- Поздно
- последний
- ведущий
- привело
- уровень
- Кредитное плечо
- библиотеки
- легкий
- такое как
- Ограниченный
- расположение
- Войти
- сделанный
- Главная
- поддерживать
- основной
- Создание
- управления
- многих
- макс-ширина
- означает
- сообщение
- Сообщения
- обмен сообщениями
- Метаданные
- может быть
- мигрировали
- мигрирующий
- миграция
- небольшая
- Модерн
- монитор
- Мониторинг
- БОЛЕЕ
- более эффективным
- двигаться
- много
- с разными
- имя
- необходимо
- Необходимость
- необходимый
- потребности
- сеть
- сетей
- Новые
- Новые функции
- следующий
- сейчас
- Оазис
- произошло
- of
- предлагающий
- Масло
- on
- ONE
- только
- Опции
- or
- оригинал
- Другое
- внешний
- за
- пакеты
- особый
- особенно
- выполнять
- период
- перспектива
- Часть
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- Популярное
- мощный
- необходимость
- предыдущий
- вероятно
- Производство
- свойства
- собственность
- протокол
- протоколы
- обеспечивать
- приводит
- публиковать
- опубликованный
- ассортимент
- причина
- Получать
- получила
- уменьшить
- снижение
- выпустил
- удаленные
- Ответить
- обязательный
- Требования
- Полезные ресурсы
- ответ
- сохраняется
- возвращают
- Подвижной
- Бег
- то же
- спутник
- Сценарии
- SDK
- SDKS
- безопасность
- Отправить
- отправитель
- сервер
- серверы
- обслуживание
- Сессия
- несколько
- Поделиться
- общие
- Короткое
- должен
- существенно
- простота
- Размер
- Размеры
- небольшой
- So
- Software
- разработка программного обеспечения
- некоторые
- конкретный
- указанный
- стандарт
- стоит
- Шаг
- Шаги
- простой
- сильнее
- подписка
- подписка
- последующее
- такие
- подходящее
- поддержка
- поддержки
- Поддержка
- подозрительный
- система
- взять
- Технический
- тестXNUMX
- который
- Ассоциация
- их
- Их
- следовательно
- Эти
- они
- вещи
- этой
- время
- отметка времени
- в
- тема
- перевозки
- понимание
- Обновление ПО
- обновление
- обновление
- модернизация
- на
- us
- Применение
- использование
- используемый
- Информация о пользователе
- пользователей
- через
- использовать
- версия
- хотеть
- стремятся
- законопроект
- ЧТО Ж
- когда
- будь то
- который
- зачем
- широко распространена
- будете
- являетесь
- ВАШЕ
- зефирнет