MQTT, care înseamnă Message Queuing Telemetry Transport, este un protocol de mesagerie ușor conceput pentru dispozitive limitate și rețele cu lățime de bandă redusă și latență ridicată. Este util în special pentru conexiunile la distanță în care este necesară o amprentă mică de cod sau lățimea de bandă a rețelei este limitată.
MQTT 5 este cea mai recentă versiune a protocolului, oferind multe îmbunătățiri față de predecesorii săi. Noile funcții includ coduri motiv, intervale de expirare a sesiunii, aliasuri de subiecte, proprietăți ale utilizatorului, opțiuni de abonament, caracteristici de solicitare/răspuns și abonamente partajate.
Vom explora aceste noi funcții, vom explica modul în care brokerii populari și SDK-urile clienților acceptă MQTT 5 și câteva considerații cheie atunci când migrați de la MQTT 3.1.1 la MQTT 5.
Scurt istoric și evoluție a MQTT 5
MQTT a fost dezvoltat pentru prima dată la sfârșitul anilor 1990 de Dr. Andy Stanford-Clark de la IBM și Arlen Nipper de la Arcom (acum Eurotech), pentru a monitoriza conductele de petrol prin rețelele prin satelit. Versiunea inițială, MQTT v3.1, a fost concepută pentru a fi ușoară și ușor de implementat, făcând-o potrivită pentru multe dispozitive IoT.
MQTT 3.1.1, un standard OASIS, a fost lansat în 2014, care a inclus modificări minore ale protocolului pentru a îmbunătăți claritatea și interoperabilitatea acestuia. Simplitatea și eficiența sa în livrarea mesajelor prin rețele cu resurse limitate au condus la adoptarea sa pe scară largă în aplicațiile IoT.
Cu toate acestea, pe măsură ce industria IoT a evoluat, la fel și nevoile aplicațiilor sale. Acest lucru a dus la dezvoltarea MQTT 5, lansat în 2019, care a introdus noi funcții pentru a răspunde acestor nevoi în schimbare. Cu funcțiile sale îmbunătățite, MQTT 5 este mai bine echipat pentru a face față cerințelor complexe ale aplicațiilor moderne IoT.
7 funcții noi în MQTT v5
Codurile de motiv: înțelegerea deconectărilor sau eșecurilor
Spre deosebire de predecesorii săi, MQTT 5 poate oferi a codul motivului pentru fiecare pachet de confirmare, oferindu-ne o mai bună înțelegere a motivului pentru care a avut loc o deconectare sau o defecțiune. Această îmbunătățire ajută la depanarea și permite o gestionare mai precisă a erorilor.
De exemplu, dacă un client nu reușește să se conecteze la server, serverul va returna un cod motiv care explică de ce conexiunea nu a reușit. Acest lucru se poate datora unei game de probleme, de la acreditări incorecte de conectare la indisponibilitatea unui server.
Intervalele de expirare a sesiunii: gestionarea duratelor de viață ale sesiunii
Această caracteristică permite clientului să specifice cum mult timp serverul ar trebui să-și mențină sesiunea după ce clientul se deconectează. În versiunile anterioare MQTT, o sesiune fie se termina imediat după deconectare, fie continua pe termen nelimitat.
Cu MQTT 5, puteți defini o anumită perioadă pentru care sesiunea ar trebui să fie menținută în viață după deconectare. Acest lucru oferă o flexibilitate mai mare în gestionarea duratelor de viață a sesiunii și economisește resursele de pe server.
MQTT 5 introduce aliasuri de subiecte pentru a reduce supraîncărcarea din anteturile mesajelor. În versiunile anterioare, numele subiectului trebuia inclus în fiecare mesaj, ceea ce duce la dimensiuni mai mari ale pachetelor.
Cu aliasuri de subiect, un alias numeric scurt poate fi atribuit unui subiect. Acest alias poate fi folosit în locul numelui complet al subiectului în mesajele ulterioare, reducând semnificativ dimensiunea antetului MQTT și conservând lățimea de bandă a rețelei.
Această caracteristică permite utilizatorilor să includă metadate personalizate în anteturile pachetelor MQTT. Acest lucru poate fi util în special pentru aplicațiile care trebuie să trimită informații suplimentare cu mesajele lor MQTT, cum ar fi marcajul de timp al mesajului, locația dispozitivului sau alte date specifice aplicației. Proprietățile utilizatorului oferă o flexibilitate și un control mai mare asupra mesajelor MQTT.
Opțiuni de abonament: comenzi granulare pentru abonament
MQTT 5 permite clienților să specifice cum doresc să primească mesaje pentru fiecare subiect abonat. De exemplu, clienții pot specifica acum dacă doresc să primească mesaje reținute pentru un anumit abonament sau dacă doresc să primească mesaje chiar dacă au același nivel de QoS (Calitate a Serviciului) ca și abonamentul.
Solicitare/Răspuns: Permiterea clienților să răspundă la un subiect specificat
caracteristică cerere/răspuns permite unui client să specifice un subiect pe care serverul îl poate folosi pentru a trimite un răspuns direct.
În versiunile anterioare ale MQTT, dacă un client dorea să trimită un răspuns la un mesaj, trebuia să publice răspunsul la un subiect, iar expeditorul original trebuia să fie abonat la acel subiect pentru a primi răspunsul. Cu funcția de cerere/răspuns a MQTT 5, comunicarea între clienți și servere devine mult mai eficientă și mai simplă.
Abonament partajat: Funcție de echilibrare a încărcăturii pentru abonați
Această caracteristică permite mai multor clienți să partajeze un abonament. Când un mesaj este publicat într-un subiect partajat, serverul distribuie mesajul unuia dintre clienții din abonamentul partajat, echilibrând efectiv mesajele.
Această caracteristică este utilă în special în scenariile în care aveți mai multe instanțe ale unui serviciu care rulează și doriți să distribuiți volumul de lucru în mod egal între ele.
Suport actual al SDK-urilor pentru broker și client în MQTT 5.0
Protocolul MQTT 5.0 a fost bine primit de comunitatea IoT și numeroase Brokeri MQTT și kiturile de dezvoltare software (SDK) client au adăugat suport pentru acesta. Brokerii majori MQTT au implementat deja funcțiile MQTT 5.0 pe platformele lor, permițând utilizatorilor să profite de beneficiile noului protocol.
Pe partea SDK-ului client, biblioteci precum Paho, care au o bază largă de utilizatori, au adăugat suport pentru MQTT 5.0. Aceasta înseamnă că dezvoltatorii pot utiliza acum funcțiile MQTT 5.0 în aplicațiile lor IoT. Alte exemple de SDK-uri client care acceptă MQTT 5.0 sunt MQTT.js și MQTTnet.
Lista de verificare pentru migrarea de la MQTT 3.1.1 la MQTT 5
Dacă utilizați în prezent MQTT 3.1.1, probabil că este timpul să faceți upgrade la MQTT 5. Iată câteva dintre principalele lucruri pe care ar trebui să le luați în considerare atunci când faceți mutarea.
Actualizați MQTT Brokers
Odată ce v-ați evaluat infrastructura actuală și ați decis să continuați cu migrarea, următorul pas este să vă actualizați brokerii MQTT. Aceasta implică instalarea celei mai recente versiuni a brokerului dvs. MQTT care acceptă MQTT 5.0.
Actualizarea brokerului dvs. ar trebui făcută cu grijă, deoarece vă afectează pe toți Clienții MQTT. Este recomandabil să testați mai întâi noul broker într-un mediu care nu este de producție înainte de a-l lansa în producție. De asemenea, asigurați-vă că configurația brokerului dvs. este actualizată după cum este necesar pentru a accepta noile caracteristici introduse în MQTT 5.0.
Actualizați bibliotecile client
După actualizarea brokerilor MQTT, următorul pas este să actualizați bibliotecile client MQTT. La fel ca actualizarea brokerului, mai întâi ar trebui să efectuați această actualizare într-un mediu care nu este de producție. De asemenea, asigurați-vă că codul aplicației dvs. este actualizat pentru a gestiona noile caracteristici MQTT 5.0. Luați în considerare faptul că acest lucru ar putea implica o refactorizare a codului.
Securitatea adresei
În timp ce MQTT 5.0 aduce mai multe îmbunătățiri, introduce și noi considerații de securitate. De exemplu, cu noua caracteristică de proprietate a utilizatorului, clienții pot acum trimite date personalizate către broker.
Deși aceasta este o caracteristică puternică, poate fi exploatată dacă nu este utilizată corect. Prin urmare, este important să evaluăm toate noile funcții din perspectiva securității.
Unii dintre pașii pe care îi puteți face pentru a aborda securitatea includ utilizarea noii caracteristici de autentificare îmbunătățită pentru o securitate mai puternică, limitarea proprietăților utilizatorului pe care clienții le pot trimite doar la ceea ce este necesar și monitorizarea continuă pentru orice activități suspecte.
Monitorizare după migrare
În cele din urmă, după ce ați migrat la MQTT 5.0 și ați implementat caracteristicile acestuia, este important să vă monitorizați în mod continuu sistemul. Monitorizarea nu ar trebui să se limiteze doar la aspecte tehnice, cum ar fi livrarea mesajelor sau conexiunile la clienți.
De asemenea, ar trebui să monitorizați utilizarea noilor funcții MQTT 5.0 în aplicațiile dvs. Acest lucru vă va oferi informații despre modul în care aceste caracteristici vă îmbunătățesc aplicațiile și unde pot fi aduse îmbunătățiri suplimentare.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :are
- :este
- :nu
- :Unde
- 1
- 2014
- 2019
- 7
- a
- Cont
- activităţi de
- adăugat
- Suplimentar
- informatii suplimentare
- adresa
- Adoptare
- recomandabil
- După
- înainte
- SIDA
- în viaţă
- TOATE
- Permiterea
- permite
- deja
- de asemenea
- printre
- an
- și
- Orice
- aplicație
- aplicatii
- SUNT
- AS
- aspecte
- evalua
- alocate
- Autentificare
- Lățime de bandă
- de bază
- BE
- devine
- fost
- înainte
- fiind
- Beneficiile
- Mai bine
- între
- Aduce
- larg
- agent
- brokeri
- by
- CAN
- pasă
- Modificări
- schimbarea
- claritate
- client
- clientii
- cod
- Coduri
- Comunicare
- comunitate
- complex
- Configuraţie
- Conectați
- conexiune
- Conexiuni
- Lua în considerare
- Considerații
- a continuat
- continuu
- Control
- corect
- ar putea
- scrisori de acreditare
- Curent
- În prezent
- personalizat
- de date
- hotărât
- defini
- livrarea
- livrare
- proiectat
- dezvoltat
- Dezvoltatorii
- Dezvoltare
- dispozitiv
- Dispozitive
- FĂCUT
- direcționa
- deconectare
- distribui
- făcut
- dr
- două
- fiecare
- Mai devreme
- uşor
- în mod eficient
- eficiență
- eficient
- oricare
- încheiat
- sporită
- consolidarea
- asigura
- Mediu inconjurator
- echipat
- eroare
- evaluat
- Chiar
- egal
- Fiecare
- evoluţie
- evoluat
- exemplu
- exemple
- expirare
- Explica
- explicând
- exploatat
- explora
- eșuează
- Eșec
- Caracteristică
- DESCRIERE
- First
- Flexibilitate
- urmă
- Pentru
- din
- faţă
- Complet
- funcţie
- mai mult
- Da
- Oferirea
- Go
- mai mare
- HAD
- manipula
- Manipularea
- Avea
- anteturile
- aici
- istorie
- Cum
- HTTPS
- IBM
- if
- imediat
- Impacturi
- punerea în aplicare a
- implementat
- important
- îmbunătăţi
- îmbunătățire
- îmbunătățiri
- in
- include
- inclus
- industrie
- informații
- Infrastructură
- inițială
- perspective
- Instalarea
- instanță
- cazuri
- Interoperabilitate
- în
- introdus
- Prezintă
- implica
- implică
- IoT
- dispozitive iot
- probleme de
- IT
- ESTE
- jpg
- doar
- ținut
- Cheie
- mai mare
- Târziu
- Ultimele
- conducere
- Led
- Nivel
- Pârghie
- biblioteci
- categorie ușoară
- ca
- Limitat
- locaţie
- Logare
- făcut
- Principal
- menține
- major
- Efectuarea
- de conducere
- multe
- max-width
- mijloace
- mesaj
- mesaje
- mesagerie
- Metadata
- ar putea
- migrată
- Migrarea
- migrațiune
- minor
- Modern
- monitor
- Monitorizarea
- mai mult
- mai eficient
- muta
- mult
- multiplu
- nume
- necesar
- Nevoie
- necesar
- nevoilor
- reţea
- rețele
- Nou
- Funcții noi
- următor
- acum
- Oază
- a avut loc
- of
- oferind
- Ulei
- on
- ONE
- afară
- Opţiuni
- or
- original
- Altele
- afară
- peste
- pachete
- special
- în special
- efectua
- perioadă
- perspectivă
- Loc
- Platforme
- Plato
- Informații despre date Platon
- PlatoData
- Popular
- puternic
- precis
- precedent
- probabil
- producere
- proprietăţi
- proprietate
- protocol
- protocoale
- furniza
- furnizează
- publica
- publicat
- calitate
- gamă
- motiv
- a primi
- primit
- reduce
- reducerea
- eliberat
- la distanta
- răspuns
- necesar
- Cerinţe
- Resurse
- răspuns
- reținut
- reveni
- Rulare
- funcţionare
- acelaşi
- satelit
- scenarii
- sdk
- sdks
- securitate
- trimite
- expeditor
- serverul
- servere
- serviciu
- sesiune
- câteva
- Distribuie
- comun
- Pantaloni scurți
- să
- semnificativ
- simplitate
- Mărimea
- dimensiuni
- mic
- So
- Software
- de dezvoltare de software
- unele
- specific
- specificată
- standard
- Standuri
- Pas
- paşi
- simplu
- puternic
- abonament
- Abonamente
- ulterior
- astfel de
- potrivit
- a sustine
- De sprijin
- Sprijină
- suspicios
- sistem
- Lua
- Tehnic
- test
- acea
- lor
- Lor
- prin urmare
- Acestea
- ei
- lucruri
- acest
- timp
- timestamp-ul
- la
- subiect
- de transport
- înţelegere
- Actualizează
- actualizat
- actualizarea
- upgrade-ul
- pe
- us
- Folosire
- utilizare
- utilizat
- Utilizator
- utilizatorii
- folosind
- folosi
- versiune
- vrea
- dorit
- a fost
- BINE
- cand
- dacă
- care
- de ce
- pe scară largă
- voi
- cu
- tu
- Ta
- zephyrnet