MQTT, co oznacza Message Queuing Telemetry Transport, to lekki protokół przesyłania wiadomości przeznaczony dla urządzeń o ograniczonych możliwościach i sieci o niskiej przepustowości i dużych opóźnieniach. Jest to szczególnie przydatne w przypadku połączeń zdalnych, gdzie wymagany jest niewielki kod lub przepustowość sieci jest ograniczona.
MQTT 5 to najnowsza wersja protokołu, oferująca wiele ulepszeń w stosunku do swoich poprzedników. Nowe funkcje obejmują kody przyczyn, interwały wygaśnięcia sesji, aliasy tematów, właściwości użytkowników, opcje subskrypcji, funkcje żądań/odpowiedzi i subskrypcje współdzielone.
Przyjrzymy się tym nowym funkcjom, wyjaśnimy, w jaki sposób popularni brokerzy i zestawy SDK klientów obsługują MQTT 5, a także przedstawimy kilka kluczowych kwestii związanych z migracją z MQTT 3.1.1 do MQTT 5.
Krótka historia i ewolucja MQTT 5
MQTT został po raz pierwszy opracowany pod koniec lat 1990. XX wieku przez dr Andy'ego Stanforda-Clarka z IBM i Arlena Nippera z Arcom (obecnie Eurotech) w celu monitorowania rurociągów naftowych za pośrednictwem sieci satelitarnych. Początkowa wersja, MQTT v3.1, została zaprojektowana tak, aby była lekka i łatwa do wdrożenia, dzięki czemu była odpowiednia dla wielu urządzeń IoT.
MQTT 3.1.1, standard OASIS, został wydany w 2014 roku i obejmował niewielkie zmiany w protokole w celu poprawy jego przejrzystości i interoperacyjności. Jego prostota i skuteczność w dostarczaniu wiadomości w sieciach o ograniczonych zasobach doprowadziła do jego powszechnego zastosowania w zastosowaniach IoT.
Jednak wraz z ewolucją branży IoT ewoluowały potrzeby jej zastosowań. Doprowadziło to do opracowania wydanego w 5 r. rozwiązania MQTT 2019, w którym wprowadzono nowe funkcje odpowiadające zmieniającym się potrzebom. Dzięki udoskonalonym funkcjom MQTT 5 jest lepiej przygotowany do obsługi złożonych wymagań nowoczesnych aplikacji IoT.
7 nowych funkcji w MQTT v5
Kody przyczyn: Zrozumienie rozłączeń lub awarii
W przeciwieństwie do swoich poprzedników, MQTT 5 może zapewnić kod powodu dla każdego pakietu potwierdzenia, co pozwala nam lepiej zrozumieć, dlaczego nastąpiło rozłączenie lub awaria. To ulepszenie pomaga w rozwiązywaniu problemów i pozwala na bardziej precyzyjną obsługę błędów.
Na przykład, jeśli klientowi nie uda się połączyć z serwerem, serwer zwróci kod przyczyny wyjaśniający, dlaczego połączenie nie powiodło się. Może to wynikać z szeregu problemów, od nieprawidłowych danych logowania po niedostępność serwera.
Interwały wygaśnięcia sesji: zarządzanie czasem życia sesji
Ta funkcja pozwala klientowi określić sposób długo serwer powinien utrzymać sesję po rozłączeniu się klienta. W poprzednich wersjach MQTT sesja kończyła się natychmiast po rozłączeniu lub trwała przez czas nieokreślony.
Dzięki MQTT 5 możesz zdefiniować konkretny czas, przez który sesja powinna być utrzymywana przy życiu po rozłączeniu. Zapewnia to większą elastyczność w zarządzaniu czasem życia sesji i oszczędza zasoby na serwerze.
Wprowadzenie MQTT 5 aliasy tematów aby zmniejszyć obciążenie w nagłówkach wiadomości. W poprzednich wersjach nazwa tematu musiała być zawarta w każdej wiadomości, co skutkowało większymi rozmiarami pakietów.
Dzięki aliasom tematów do tematu można przypisać krótki alias numeryczny. Alias ten może być używany zamiast pełnej nazwy tematu w kolejnych wiadomościach, co znacznie zmniejsza rozmiar nagłówka MQTT i oszczędza przepustowość sieci.
Ta funkcja umożliwia użytkownikom dołączanie niestandardowych metadanych do nagłówków pakietów MQTT. Może to być szczególnie przydatne w przypadku aplikacji, które muszą wysyłać dodatkowe informacje wraz z komunikatami MQTT, takie jak znacznik czasu komunikatu, lokalizacja urządzenia lub inne dane specyficzne dla aplikacji. Właściwości użytkownika zapewniają większą elastyczność i kontrolę nad przesyłaniem komunikatów MQTT.
Opcje subskrypcji: Szczegółowa kontrola subskrypcji
MQTT 5 pozwala klientom określić w jaki sposób chcą otrzymywać wiadomości na każdy subskrybowany temat. Na przykład klienci mogą teraz określić, czy chcą otrzymywać zachowane wiadomości w ramach określonej subskrypcji, czy też chcą otrzymywać wiadomości, nawet jeśli mają ten sam poziom QoS (jakość usług) co subskrypcja.
Żądanie/odpowiedź: umożliwianie klientom odpowiadania na określony temat
Połączenia funkcja żądania/odpowiedzi pozwala klientowi określić temat, którego serwer może użyć do wysłania bezpośredniej odpowiedzi.
We wcześniejszych wersjach MQTT, jeśli klient chciał wysłać odpowiedź na wiadomość, musiał opublikować odpowiedź w temacie, a pierwotny nadawca musiał subskrybować ten temat, aby otrzymać odpowiedź. Dzięki funkcji żądania/odpowiedzi MQTT 5 komunikacja między klientami a serwerami staje się znacznie wydajniejsza i prostsza.
Subskrypcja współdzielona: funkcja równoważenia obciążenia dla abonentów
Ta funkcja umożliwia wielu klientom współdzielenie subskrypcji. Gdy wiadomość jest publikowana w temacie udostępnionym, serwer dystrybuuje ją do jednego z klientów w ramach subskrypcji udostępnionej, skutecznie równoważąc obciążenie wiadomości.
Ta funkcja jest szczególnie przydatna w scenariuszach, w których działa wiele instancji usługi i chcesz równomiernie rozłożyć między nie obciążenie pracą.
Bieżąca obsługa zestawów SDK brokera i klienta w MQTT 5.0
Protokół MQTT 5.0 został dobrze przyjęty przez liczną społeczność IoT Brokerzy MQTT i klienckie zestawy programistyczne (SDK) dodały obsługę tego rozwiązania. Główni brokerzy MQTT wdrożyli już funkcje MQTT 5.0 na swoich platformach, umożliwiając użytkownikom korzystanie z zalet nowego protokołu.
Na froncie pakietu SDK klienta biblioteki takie jak Paho, które mają szeroką bazę użytkowników, dodały obsługę MQTT 5.0. Oznacza to, że programiści mogą teraz wykorzystywać funkcje MQTT 5.0 w swoich aplikacjach IoT. Inne przykłady klienckich zestawów SDK obsługujących MQTT 5.0 to MQTT.js i MQTTnet.
Lista kontrolna dotycząca migracji z MQTT 3.1.1 do MQTT 5
Jeśli obecnie korzystasz z MQTT 3.1.1, prawdopodobnie nadszedł czas na aktualizację do MQTT 5. Oto kilka głównych rzeczy, które powinieneś wziąć pod uwagę podejmując decyzję o przeprowadzce.
Zaktualizuj brokerów MQTT
Gdy już ocenisz swoją obecną infrastrukturę i zdecydujesz się na migrację, następnym krokiem będzie aktualizacja brokerów MQTT. Wiąże się to z zainstalowaniem najnowszej wersji brokera MQTT obsługującej MQTT 5.0.
Aktualizację brokera należy przeprowadzać ostrożnie, ponieważ ma to wpływ na wszystkie Twoje brokera Klienci MQTT. Zaleca się najpierw przetestować nowego brokera w środowisku nieprodukcyjnym przed wdrożeniem go w środowisku produkcyjnym. Upewnij się także, że konfiguracja brokera została zaktualizowana w razie potrzeby, aby obsługiwała nowe funkcje wprowadzone w MQTT 5.0.
Zaktualizuj biblioteki klienta
Następnym krokiem po zaktualizowaniu brokerów MQTT jest aktualizacja bibliotek klienta MQTT. Podobnie jak w przypadku aktualizacji brokera, tę aktualizację należy najpierw wykonać w środowisku nieprodukcyjnym. Upewnij się także, że kod aplikacji został zaktualizowany, aby obsługiwał nowe funkcje MQTT 5.0. Weź pod uwagę, że może to wymagać refaktoryzacji kodu.
Bezpieczeństwo adresu
Chociaż MQTT 5.0 wprowadza kilka ulepszeń, wprowadza także nowe względy bezpieczeństwa. Na przykład dzięki nowej funkcji właściwości użytkownika klienci mogą teraz wysyłać niestandardowe dane do brokera.
Chociaż jest to potężna funkcja, można ją wykorzystać, jeśli nie zostanie użyta prawidłowo. Dlatego ważne jest, aby ocenić wszystkie nowe funkcje z punktu widzenia bezpieczeństwa.
Niektóre kroki, jakie można podjąć w celu zapewnienia bezpieczeństwa, obejmują użycie nowej funkcji ulepszonego uwierzytelniania w celu zapewnienia większego bezpieczeństwa, ograniczenie właściwości użytkownika, które klienci mogą wysyłać tylko do niezbędnych osób, oraz ciągłe monitorowanie pod kątem wszelkich podejrzanych działań.
Monitoruj po migracji
Wreszcie, po migracji do MQTT 5.0 i wdrożeniu jego funkcji, ważne jest ciągłe monitorowanie systemu. Monitorowanie nie powinno ograniczać się tylko do aspektów technicznych, takich jak dostarczanie wiadomości lub połączenia z klientami.
Powinieneś także monitorować wykorzystanie nowych funkcji MQTT 5.0 w swoich aplikacjach. Dzięki temu uzyskasz wgląd w to, w jaki sposób te funkcje usprawniają Twoje aplikacje i gdzie można wprowadzić dalsze ulepszenia.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :ma
- :Jest
- :nie
- :Gdzie
- 1
- 2014
- 2019
- 7
- a
- Konto
- zajęcia
- w dodatku
- Dodatkowy
- Dodatkowe informacje
- adres
- Przyjęcie
- wskazany
- Po
- przed
- AIDS
- żywy
- Wszystkie kategorie
- Pozwalać
- pozwala
- już
- również
- wśród
- an
- i
- każdy
- Zastosowanie
- aplikacje
- SĄ
- AS
- aspekty
- oszacować
- przydzielony
- Uwierzytelnianie
- przepustowość
- baza
- BE
- staje się
- być
- zanim
- jest
- Korzyści
- Ulepsz Swój
- pomiędzy
- Przynosi
- szeroki
- pośrednik
- brokerów
- by
- CAN
- który
- Zmiany
- wymiana pieniędzy
- klarowność
- klient
- klientów
- kod
- Kody
- Komunikacja
- społeczność
- kompleks
- systemu
- Skontaktuj się
- połączenie
- połączenia
- Rozważać
- Rozważania
- nadal
- bez przerwy
- kontrola
- prawidłowo
- mógłby
- Listy uwierzytelniające
- Aktualny
- Obecnie
- zwyczaj
- dane
- postanowiła
- określić
- dostarczanie
- dostawa
- zaprojektowany
- rozwinięty
- deweloperzy
- oprogramowania
- urządzenie
- urządzenia
- ZROBIŁ
- kierować
- odłączenie
- rozprowadzać
- zrobić
- dr
- z powodu
- każdy
- Wcześniej
- łatwo
- faktycznie
- efektywność
- wydajny
- bądź
- zakończony
- wzmocnione
- wzmocnienie
- zapewnić
- Środowisko
- wyposażony
- błąd
- oceniane
- Parzyste
- równomiernie
- Każdy
- ewolucja
- ewoluowały
- przykład
- przykłady
- wygaśnięcie
- Wyjaśniać
- wyjaśniając
- eksploatowany
- odkryj
- nie
- Brak
- Cecha
- Korzyści
- i terminów, a
- Elastyczność
- Ślad stopy
- W razie zamówieenia projektu
- od
- z przodu
- pełny
- funkcjonować
- dalej
- Dać
- Dający
- Go
- większy
- miał
- uchwyt
- Prowadzenie
- Have
- headers
- tutaj
- historia
- W jaki sposób
- HTTPS
- IBM
- if
- natychmiast
- Oddziaływania
- wdrożenia
- realizowane
- ważny
- podnieść
- poprawa
- ulepszenia
- in
- zawierać
- włączony
- przemysł
- Informacja
- Infrastruktura
- początkowy
- spostrzeżenia
- Instalacja
- przykład
- instancje
- Interoperacyjność
- najnowszych
- wprowadzono
- Przedstawia
- angażować
- dotyczy
- Internet przedmiotów
- urządzenia iot
- problemy
- IT
- JEGO
- jpg
- właśnie
- trzymane
- Klawisz
- większe
- Późno
- firmy
- prowadzący
- Doprowadziło
- poziom
- Dźwignia
- biblioteki
- lekki
- lubić
- Ograniczony
- lokalizacja
- Zaloguj Się
- zrobiony
- Główny
- utrzymać
- poważny
- Dokonywanie
- zarządzający
- wiele
- Maksymalna szerokość
- znaczy
- wiadomość
- wiadomości
- wiadomości
- Metadane
- może
- migrował
- migracja
- migracja
- moll
- Nowoczesne technologie
- monitor
- monitorowanie
- jeszcze
- bardziej wydajny
- ruch
- dużo
- wielokrotność
- Nazwa
- niezbędny
- Potrzebować
- potrzebne
- wymagania
- sieć
- sieci
- Nowości
- Nowe funkcje
- Następny
- już dziś
- oaza
- miejsce
- of
- oferuje
- Olej
- on
- ONE
- tylko
- Opcje
- or
- oryginalny
- Inne
- na zewnątrz
- koniec
- Pakiety
- szczególny
- szczególnie
- wykonać
- okres
- perspektywa
- Miejsce
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- Popularny
- mocny
- precyzyjny
- poprzedni
- prawdopodobnie
- Produkcja
- niska zabudowa
- własność
- protokół
- protokoły
- zapewniać
- zapewnia
- publikować
- opublikowany
- jakość
- zasięg
- powód
- otrzymać
- Odebrane
- zmniejszyć
- redukcja
- wydany
- zdalny
- odpowiadać
- wymagany
- wymagania
- Zasoby
- odpowiedź
- zatrzymany
- powrót
- Walcowanie
- bieganie
- taki sam
- satelita
- scenariusze
- Sdk
- SDKS
- bezpieczeństwo
- wysłać
- nadawca
- serwer
- serwery
- usługa
- Sesja
- kilka
- Share
- shared
- Short
- powinien
- znacznie
- prostota
- Rozmiar
- rozmiary
- mały
- So
- Tworzenie
- rozwoju oprogramowania
- kilka
- specyficzny
- określony
- standard
- stojaki
- Ewolucja krok po kroku
- Cel
- bezpośredni
- silniejszy
- subskrypcja
- subskrypcje
- kolejny
- taki
- odpowiedni
- wsparcie
- Wspierający
- podpory
- podejrzliwy
- system
- Brać
- Techniczny
- test
- że
- Połączenia
- ich
- Im
- w związku z tym
- Te
- one
- rzeczy
- to
- czas
- znak czasu
- do
- aktualny
- transportu
- zrozumienie
- Aktualizacja
- zaktualizowane
- aktualizowanie
- uaktualnienie
- na
- us
- Stosowanie
- posługiwać się
- używany
- Użytkownik
- Użytkownicy
- za pomocą
- wykorzystać
- wersja
- chcieć
- poszukiwany
- była
- DOBRZE
- jeśli chodzi o komunikację i motywację
- czy
- który
- dlaczego
- rozpowszechniony
- będzie
- w
- ty
- Twój
- zefirnet