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, була розроблена, щоб бути легкою та легкою для реалізації, що робить її придатною для багатьох пристроїв IoT.
MQTT 3.1.1, стандарт OASIS, був випущений у 2014 році, який включав незначні зміни в протокол для покращення його чіткості та сумісності. Його простота та ефективність у доставці повідомлень через мережі з обмеженими ресурсами призвели до його широкого застосування в додатках IoT.
Однак із розвитком індустрії Інтернету речей зростали й потреби її програм. Це призвело до розробки MQTT 5, випущеного в 2019 році, який представив нові функції для задоволення цих мінливих потреб. Завдяки розширеним функціям MQTT 5 краще відповідає складним вимогам сучасних додатків Інтернету речей.
7 нових функцій у MQTT v5
Коди причин: розуміння відключень або збоїв
На відміну від своїх попередників, MQTT 5 може забезпечити a код причини для кожного пакета підтвердження, що дає нам краще зрозуміти, чому відбулося відключення або збій. Це вдосконалення допомагає у вирішенні проблем і забезпечує точнішу обробку помилок.
Наприклад, якщо клієнту не вдається підключитися до сервера, сервер поверне код причини, який пояснює, чому підключення було невдалим. Це може бути пов’язано з рядом проблем, від неправильних облікових даних для входу до недоступності сервера.
Інтервали закінчення сеансу: керування тривалістю сеансу
Ця функція дозволяє клієнту вказати, як протягом якого сервер має підтримувати свій сеанс після відключення клієнта. У попередніх версіях MQTT сеанс або завершувався одразу після відключення, або тривав нескінченно.
За допомогою MQTT 5 ви можете визначити певний період, протягом якого сеанс має підтримуватися після відключення. Це забезпечує більшу гнучкість в управлінні тривалістю сеансу та зберігає ресурси на сервері.
Представляємо MQTT 5 псевдоніми тем щоб зменшити накладні витрати в заголовках повідомлень. У попередніх версіях назву теми потрібно було включати в кожне повідомлення, що призводило до більших розмірів пакетів.
За допомогою псевдонімів тем темі можна призначити короткий числовий псевдонім. Цей псевдонім можна використовувати замість повної назви теми в наступних повідомленнях, значно зменшуючи розмір заголовка MQTT і зберігаючи пропускну здатність мережі.
Ця функція дозволяє користувачам включати власні метадані в заголовки пакетів MQTT. Це може бути особливо корисним для програм, яким потрібно надсилати додаткову інформацію разом із повідомленнями MQTT, наприклад позначку часу повідомлення, місцезнаходження пристрою або інші дані, що стосуються програми. Властивості користувача забезпечують більшу гнучкість і контроль над обміном повідомленнями MQTT.
Параметри підписки: детальні елементи керування підпискою
MQTT 5 дозволяє клієнтам вказувати як вони хочуть отримувати повідомлення для кожної теми, на яку підписалися. Наприклад, тепер клієнти можуть вказати, чи хочуть вони отримувати збережені повідомлення для певної підписки, чи хочуть вони отримувати повідомлення, навіть якщо вони мають той самий рівень QoS (Якість обслуговування), що й підписка.
Запит/відповідь: дозвіл клієнтам відповідати на визначену тему
Команда функція запит/відповідь дозволяє клієнту вказати тему, яку сервер може використовувати для надсилання прямої відповіді.
У попередніх версіях MQTT, якщо клієнт хотів надіслати відповідь на повідомлення, він мав опублікувати відповідь у темі, а вихідний відправник мав бути підписаним на цю тему, щоб отримати відповідь. Завдяки функції запиту/відповіді MQTT 5 спілкування між клієнтами та серверами стає набагато ефективнішим і простішим.
Спільна підписка: функція балансування навантаження для передплатників
Ця функція дозволяє кільком клієнтам спільно використовувати підписку. Коли повідомлення публікується в спільній темі, сервер розповсюджує повідомлення одному з клієнтів у спільній підписці, ефективно вирівнюючи навантаження повідомлень.
Ця функція особливо корисна в сценаріях, коли у вас є кілька запущених екземплярів служби, і ви хочете рівномірно розподілити навантаження між ними.
Поточна підтримка брокерських і клієнтських SDK у MQTT 5.0
Протокол MQTT 5.0 був добре сприйнятий IoT-спільнотою, і її багато Брокери 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 у ваших програмах. Це дасть вам уявлення про те, як ці функції покращують ваші програми та де можна зробити подальші вдосконалення.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- : має
- :є
- : ні
- :де
- 1
- 2014
- 2019
- 7
- a
- рахунки
- діяльності
- доданий
- Додатковий
- Додаткова інформація
- адреса
- Прийняття
- доцільно
- після
- попереду
- посібник
- живий
- ВСІ
- Дозволити
- дозволяє
- вже
- Також
- серед
- an
- та
- будь-який
- додаток
- застосування
- ЕСТЬ
- AS
- аспекти
- оцінити
- призначений
- Authentication
- ширина смуги
- база
- BE
- стає
- було
- перед тим
- буття
- Переваги
- Краще
- між
- Приносить
- широкий
- брокер
- брокери
- by
- CAN
- який
- Зміни
- заміна
- ясність
- клієнт
- клієнтів
- код
- Коди
- Комунікація
- співтовариство
- комплекс
- конфігурація
- З'єднуватися
- зв'язку
- Зв'язки
- Вважати
- міркування
- триває
- постійно
- контроль
- правильно
- може
- Повноваження
- Поточний
- В даний час
- виготовлений на замовлення
- дані
- вирішене
- визначати
- надання
- доставка
- призначений
- розвиненою
- розробників
- розробка
- пристрій
- прилади
- DID
- прямий
- відключення
- поширювати
- зроблений
- dr
- два
- кожен
- Раніше
- легко
- фактично
- ефективність
- ефективний
- або
- що закінчився
- підвищена
- підвищення
- забезпечувати
- Навколишнє середовище
- обладнаний
- помилка
- оцінюється
- Навіть
- рівномірно
- Кожен
- еволюція
- еволюціонували
- приклад
- Приклади
- термін дії
- Пояснювати
- пояснюючи
- експлуатований
- дослідити
- зазнає невдачі
- Провал
- особливість
- риси
- Перший
- Гнучкість
- Слід
- для
- від
- перед
- Повний
- функція
- далі
- Давати
- дає
- Go
- великий
- було
- обробляти
- Обробка
- Мати
- Заголовки
- тут
- історія
- Як
- HTTPS
- IBM
- if
- негайно
- Вплив
- здійснювати
- реалізовані
- важливо
- удосконалювати
- поліпшення
- поліпшення
- in
- включати
- включені
- промисловість
- інформація
- Інфраструктура
- початковий
- розуміння
- установка
- екземпляр
- випадки
- Взаємодія
- в
- введені
- Вводить
- залучати
- включає в себе
- КАТО
- прилади іоту
- питання
- IT
- ЙОГО
- JPG
- просто
- збережений
- ключ
- більше
- Пізно
- останній
- провідний
- Led
- рівень
- Важіль
- libraries
- легкий
- як
- обмеженою
- розташування
- Логін
- made
- головний
- підтримувати
- основний
- Робить
- управління
- багато
- макс-ширина
- засоби
- повідомлення
- повідомлення
- обмін повідомленнями
- метадані
- може бути
- мігрували
- мігруючи
- міграція
- незначний
- сучасний
- монітор
- моніторинг
- більше
- більш ефективний
- рухатися
- багато
- множинний
- ім'я
- необхідно
- Необхідність
- необхідний
- потреби
- мережу
- мереж
- Нові
- Нові можливості
- наступний
- зараз
- оазис
- сталося
- of
- пропонує
- Нафта
- on
- ONE
- тільки
- Опції
- or
- оригінал
- Інше
- з
- над
- пакети
- приватність
- особливо
- виконувати
- period
- перспектива
- місце
- Платформи
- plato
- Інформація про дані Платона
- PlatoData
- популярний
- потужний
- необхідність
- попередній
- ймовірно
- Production
- властивості
- власність
- протокол
- протоколи
- забезпечувати
- забезпечує
- публікувати
- опублікований
- якість
- діапазон
- причина
- отримати
- отримано
- зменшити
- зниження
- випущений
- віддалений
- відповісти
- вимагається
- Вимога
- ресурси
- відповідь
- зберігся
- повертати
- рухомий
- біг
- то ж
- супутник
- сценарії
- Sdk
- sdks
- безпеку
- послати
- відправника
- сервер
- сервери
- обслуговування
- Сесія
- кілька
- Поділитись
- загальні
- Короткий
- Повинен
- істотно
- простота
- Розмір
- розміри
- невеликий
- So
- Софтвер
- розробка програмного забезпечення
- деякі
- конкретний
- зазначений
- standard
- стенди
- Крок
- заходи
- просто
- більш сильний
- передплата
- підписки
- наступні
- такі
- підходящий
- підтримка
- Підтримуючий
- Опори
- підозрілі
- система
- Приймати
- технічний
- тест
- Що
- Команда
- їх
- Їх
- отже
- Ці
- вони
- речі
- це
- час
- відмітка часу
- до
- тема
- перевезення
- розуміння
- Оновити
- оновлений
- оновлення
- модернізація
- на
- us
- Використання
- використання
- використовуваний
- користувач
- користувачі
- використання
- використовувати
- версія
- хотіти
- хотів
- було
- ДОБРЕ
- коли
- Чи
- який
- чому
- широко поширений
- волі
- з
- ви
- вашу
- зефірнет