MQTT, som står for Message Queuing Telemetry Transport, er en lett meldingsprotokoll designet for begrensede enheter og nettverk med lav båndbredde og høy latens. Det er spesielt nyttig for eksterne tilkoblinger der det kreves et lite kodefotavtrykk eller hvor nettverksbåndbredden er begrenset.
MQTT 5 er den nyeste versjonen av protokollen, og tilbyr mange forbedringer i forhold til forgjengerne. Nye funksjoner inkluderer årsakskoder, utløpsintervaller for økter, emnealiaser, brukeregenskaper, abonnementsalternativer, forespørsels-/svarfunksjoner og delte abonnementer.
Vi vil utforske disse nye funksjonene, forklare hvordan populære meglere og klient-SDK-er støtter MQTT 5, og noen viktige hensyn ved migrering fra MQTT 3.1.1 til MQTT 5.
Kort historie og utvikling av MQTT 5
MQTT ble først utviklet på slutten av 1990-tallet av Dr. Andy Stanford-Clark fra IBM og Arlen Nipper fra Arcom (nå Eurotech), for å overvåke oljerørledninger over satellittnettverk. Den første versjonen, MQTT v3.1, ble designet for å være lett og enkel å implementere, noe som gjør den egnet for mange IoT-enheter.
MQTT 3.1.1, en OASIS-standard, ble utgitt i 2014, som inkluderte mindre endringer i protokollen for å forbedre dens klarhet og interoperabilitet. Dens enkelhet og effektivitet i å levere meldinger over nettverk med begrensede ressurser førte til utbredt bruk i IoT-applikasjoner.
Etter hvert som IoT-industrien utviklet seg, gjorde imidlertid behovene til applikasjonene det samme. Dette førte til utviklingen av MQTT 5, utgitt i 2019, som introduserte nye funksjoner for å møte disse skiftende behovene. Med sine forbedrede funksjoner er MQTT 5 bedre rustet til å håndtere de komplekse kravene til moderne IoT-applikasjoner.
7 nye funksjoner i MQTT v5
Årsakskoder: Forstå frakoblinger eller feil
I motsetning til forgjengerne, kan MQTT 5 gi en Årsakskode for hver bekreftelsespakke, noe som gir oss en bedre forståelse av hvorfor en frakobling eller feil oppstod. Denne forbedringen hjelper til med feilsøking og muliggjør mer presis feilhåndtering.
For eksempel, hvis en klient ikke klarer å koble til serveren, vil serveren returnere en årsakskode som forklarer hvorfor tilkoblingen mislyktes. Dette kan skyldes en rekke problemer, fra feil påloggingsinformasjon til at en server ikke er tilgjengelig.
Sesjonsutløpsintervaller: Administrere øktens levetid
Denne funksjonen lar klienten spesifisere hvordan lenge serveren skal opprettholde økten etter at klienten kobler fra. I tidligere MQTT-versjoner ble en økt enten avsluttet umiddelbart etter frakobling eller fortsatte på ubestemt tid.
Med MQTT 5 kan du definere en bestemt periode som økten skal holdes i live etter frakobling. Dette gir større fleksibilitet i å administrere øktens levetid og sparer ressurser på serveren.
MQTT 5 introduserer emnealiaser for å redusere overheaden i meldingshodene. I tidligere versjoner måtte emnenavnet inkluderes i hver melding, noe som førte til større pakkestørrelser.
Med emnealiaser kan et kort numerisk alias tilordnes et emne. Dette aliaset kan brukes i stedet for hele emnenavnet i påfølgende meldinger, noe som reduserer størrelsen på MQTT-headeren betydelig og sparer nettverksbåndbredde.
Denne funksjonen lar brukere inkludere tilpassede metadata i overskriftene til MQTT-pakker. Dette kan være spesielt nyttig for applikasjoner som trenger å sende tilleggsinformasjon med MQTT-meldinger, for eksempel meldingens tidsstempel, enhetsplassering eller andre applikasjonsspesifikke data. Brukeregenskaper gir større fleksibilitet og kontroll over MQTT-meldinger.
Abonnementsalternativer: Granulære abonnementskontroller
MQTT 5 lar klienter spesifisere hvordan de ønsker å motta meldinger for hvert abonnert emne. For eksempel kan klienter nå spesifisere om de ønsker å motta beholdte meldinger for et bestemt abonnement, eller om de ønsker å motta meldinger selv om de har samme QoS (Quality of Service) nivå som abonnementet.
Forespørsel/svar: Lar klienter svare på et spesifisert emne
De forespørsel/svar funksjon lar en klient spesifisere et emne som serveren kan bruke til å sende et direkte svar.
I tidligere versjoner av MQTT, hvis en klient ønsket å sende et svar på en melding, måtte den publisere svaret på et emne, og den opprinnelige avsenderen måtte abonnere på det emnet for å motta svaret. Med MQTT 5s forespørsel/svar-funksjon blir kommunikasjonen mellom klienter og servere mye mer effektiv og grei.
Delt abonnement: Lastbalanseringsfunksjon for abonnenter
Denne funksjonen lar flere kunder dele et abonnement. Når en melding publiseres til et delt emne, distribuerer serveren meldingen til en av klientene i det delte abonnementet, og effektivt balanserer meldingene.
Denne funksjonen er spesielt nyttig i scenarier der du har flere forekomster av en tjeneste som kjører, og du ønsker å fordele arbeidsmengden jevnt mellom dem.
Nåværende støtte for megler- og klient-SDK-er i MQTT 5.0
MQTT 5.0-protokollen har blitt godt mottatt av IoT-fellesskapet, og mange MQTT meglere og klientprogramvareutviklingssett (SDK-er) har lagt til støtte for det. Store MQTT-meglere har allerede implementert MQTT 5.0-funksjoner på plattformene sine, slik at brukerne kan dra nytte av den nye protokollens fordeler.
På klient-SDK-fronten har biblioteker som Paho, som har en bred brukerbase, lagt til støtte for MQTT 5.0. Dette betyr at utviklere nå kan bruke MQTT 5.0-funksjoner i sine IoT-applikasjoner. Andre eksempler på klient-SDK-er som støtter MQTT 5.0 er MQTT.js og MQTTnet.
Sjekkliste for migrering fra MQTT 3.1.1 til MQTT 5
Hvis du bruker MQTT 3.1.1, er det sannsynligvis på tide å oppgradere til MQTT 5. Her er noen av de viktigste tingene du bør vurdere når du flytter.
Oppdater MQTT Brokers
Når du har evaluert din nåværende infrastruktur og bestemt deg for å gå videre med migreringen, er neste trinn å oppdatere MQTT-meglerne dine. Dette innebærer å installere den nyeste versjonen av MQTT-megleren din som støtter MQTT 5.0.
Oppgradering av megleren din bør gjøres med forsiktighet, da det påvirker alle dine MQTT-klienter. Det er tilrådelig å først teste den nye megleren i et ikke-produksjonsmiljø før den rulles ut i produksjon. Sørg også for at meglerens konfigurasjon oppdateres etter behov for å støtte de nye funksjonene introdusert i MQTT 5.0.
Oppdater klientbiblioteker
Etter å ha oppdatert MQTT-meglerne dine, er neste trinn å oppdatere MQTT-klientbibliotekene dine. Akkurat som megleroppdateringen, bør du først utføre denne oppdateringen i et ikke-produksjonsmiljø. Sørg også for at applikasjonskoden din er oppdatert for å håndtere de nye MQTT 5.0-funksjonene. Ta hensyn til at dette kan innebære noe koderefaktorisering.
Adressesikkerhet
Mens MQTT 5.0 gir flere forbedringer, introduserer den også nye sikkerhetshensyn. For eksempel, med den nye brukeregenskapsfunksjonen, kan klienter nå sende tilpassede data til megleren.
Selv om dette er en kraftig funksjon, kan den utnyttes hvis den ikke brukes riktig. Derfor er det viktig å vurdere alle de nye funksjonene fra et sikkerhetsperspektiv.
Noen av trinnene du kan ta for å adressere sikkerheten inkluderer å bruke den nye forbedrede autentiseringsfunksjonen for sterkere sikkerhet, begrense brukeregenskapene som klienter kan sende til bare det som er nødvendig, og kontinuerlig overvåking for mistenkelige aktiviteter.
Overvåk etter migrering
Til slutt, etter at du har migrert til MQTT 5.0 og implementert funksjonene, er det viktig å kontinuerlig overvåke systemet ditt. Overvåking bør ikke bare begrenses til tekniske aspekter som meldingslevering eller klientforbindelser.
Du bør også overvåke bruken av de nye MQTT 5.0-funksjonene i applikasjonene dine. Dette vil gi deg innsikt i hvordan disse funksjonene forbedrer applikasjonene dine og hvor ytterligere forbedringer kan gjøres.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- : har
- :er
- :ikke
- :hvor
- 1
- 2014
- 2019
- 7
- a
- Logg inn
- Aktiviteter
- la til
- Ytterligere
- Tilleggsinformasjon
- adresse
- Adopsjon
- tilrådelig
- Etter
- fremover
- hjelpemidler
- live
- Alle
- tillate
- tillater
- allerede
- også
- blant
- an
- og
- noen
- Søknad
- søknader
- ER
- AS
- aspekter
- vurdere
- tildelt
- Autentisering
- Båndbredde
- basen
- BE
- blir
- vært
- før du
- være
- Fordeler
- Bedre
- mellom
- Bringer
- bred
- megler
- meglere
- by
- CAN
- hvilken
- Endringer
- endring
- klarhet
- kunde
- klienter
- kode
- koder
- Kommunikasjon
- samfunnet
- komplekse
- Konfigurasjon
- Koble
- tilkobling
- Tilkoblinger
- Vurder
- betraktninger
- fortsatte
- kontinuerlig
- kontroll
- riktig
- kunne
- Credentials
- Gjeldende
- I dag
- skikk
- dato
- besluttet
- definere
- levere
- levering
- designet
- utviklet
- utviklere
- Utvikling
- enhet
- Enheter
- gJORDE
- direkte
- frakobling
- distribuere
- gjort
- dr
- to
- hver enkelt
- Tidligere
- lett
- effektivt
- effektivitet
- effektiv
- enten
- endte
- forbedret
- styrke
- sikre
- Miljø
- utstyrt
- feil
- evaluert
- Selv
- jevnt
- Hver
- evolusjon
- utviklet seg
- eksempel
- eksempler
- utløps
- Forklar
- forklare
- Exploited
- utforske
- mislykkes
- Failure
- Trekk
- Egenskaper
- Først
- fleksibilitet
- Fotspor
- Til
- fra
- foran
- fullt
- funksjon
- videre
- Gi
- Giving
- Go
- større
- HAD
- håndtere
- Håndtering
- Ha
- overskrifter
- her.
- historie
- Hvordan
- HTTPS
- IBM
- if
- umiddelbart
- Konsekvenser
- iverksette
- implementert
- viktig
- forbedre
- forbedring
- forbedringer
- in
- inkludere
- inkludert
- industri
- informasjon
- Infrastruktur
- innledende
- innsikt
- installere
- f.eks
- forekomster
- Interoperabilitet
- inn
- introdusert
- Introduserer
- involvere
- innebærer
- IOT
- Iiot enheter
- saker
- IT
- DET ER
- jpg
- bare
- holdt
- nøkkel
- større
- Late
- siste
- ledende
- Led
- Nivå
- Leverage
- bibliotekene
- lettvekt
- i likhet med
- Begrenset
- plassering
- Logg inn
- laget
- Hoved
- vedlikeholde
- større
- Making
- administrerende
- mange
- max bredde
- midler
- melding
- meldinger
- meldinger
- metadata
- kunne
- migrert
- Migrere
- migrasjon
- mindre
- Moderne
- Overvåke
- overvåking
- mer
- mer effektivt
- flytte
- mye
- flere
- navn
- nødvendig
- Trenger
- nødvendig
- behov
- nettverk
- nettverk
- Ny
- Nye funksjoner
- neste
- nå
- Oasis
- forekom
- of
- tilby
- Olje
- on
- ONE
- bare
- alternativer
- or
- original
- Annen
- ut
- enn
- pakker
- Spesielt
- spesielt
- utføre
- perioden
- perspektiv
- Sted
- Plattformer
- plato
- Platon Data Intelligence
- PlatonData
- Populær
- kraftig
- presis
- forrige
- sannsynligvis
- Produksjon
- egenskaper
- eiendom
- protokollen
- protokoller
- gi
- gir
- publisere
- publisert
- kvalitet
- område
- grunnen til
- motta
- mottatt
- redusere
- redusere
- utgitt
- fjernkontroll
- svar
- påkrevd
- Krav
- Ressurser
- svar
- beholdes
- retur
- rullende
- rennende
- samme
- satellitt
- scenarier
- SDK
- sdks
- sikkerhet
- send
- avsender
- server
- servere
- tjeneste
- Session
- flere
- Del
- delt
- Kort
- bør
- betydelig
- enkelhet
- Størrelse
- størrelser
- liten
- So
- Software
- programvareutvikling
- noen
- spesifikk
- spesifisert
- Standard
- står
- Trinn
- Steps
- rett fram
- sterkere
- abonnement
- abonnementer
- senere
- slik
- egnet
- støtte
- Støtte
- Støtter
- mistenkelig
- system
- Ta
- Teknisk
- test
- Det
- De
- deres
- Dem
- derfor
- Disse
- de
- ting
- denne
- tid
- tidsstempel
- til
- Tema
- transportere
- forståelse
- Oppdater
- oppdatert
- oppdatering
- oppgradering
- upon
- us
- bruk
- bruke
- brukt
- Bruker
- Brukere
- ved hjelp av
- bruke
- versjon
- ønsker
- ønsket
- var
- VI VIL
- når
- om
- hvilken
- hvorfor
- utbredt
- vil
- med
- du
- Din
- zephyrnet