MQTT, som står for Message Queuing Telemetry Transport, er en let meddelelsesprotokol designet til begrænsede enheder og netværk med lav båndbredde og høj latency. Det er især nyttigt til fjernforbindelser, hvor et lille kodefodaftryk er påkrævet, eller netværksbåndbredden er begrænset.
MQTT 5 er den seneste version af protokollen, der tilbyder mange forbedringer i forhold til sine forgængere. Nye funktioner omfatter årsagskoder, sessionsudløbsintervaller, emnealiasser, brugeregenskaber, abonnementsmuligheder, anmodnings-/svarfunktioner og delte abonnementer.
Vi vil udforske disse nye funktioner, forklare, hvordan populære mæglere og klient-SDK'er understøtter MQTT 5, og nogle vigtige overvejelser ved migrering fra MQTT 3.1.1 til MQTT 5.
Kort historie og udvikling af MQTT 5
MQTT blev først udviklet i slutningen af 1990'erne af Dr. Andy Stanford-Clark fra IBM og Arlen Nipper fra Arcom (nu Eurotech), til at overvåge olierørledninger over satellitnetværk. Den oprindelige version, MQTT v3.1, blev designet til at være let og nem at implementere, hvilket gør den velegnet til mange IoT-enheder.
MQTT 3.1.1, en OASIS-standard, blev udgivet i 2014, som inkluderede mindre ændringer til protokollen for at forbedre dens klarhed og interoperabilitet. Dens enkelhed og effektivitet i at levere beskeder over netværk med begrænsede ressourcer førte til dens udbredte anvendelse i IoT-applikationer.
Men efterhånden som IoT-industrien udviklede sig, voksede behovene for dens applikationer også. Dette førte til udviklingen af MQTT 5, udgivet i 2019, som introducerede nye funktioner til at imødekomme disse skiftende behov. Med sine forbedrede funktioner er MQTT 5 bedre rustet til at håndtere de komplekse krav til moderne IoT-applikationer.
7 nye funktioner i MQTT v5
Årsagskoder: Forståelse af afbrydelser eller fejl
I modsætning til sine forgængere kan MQTT 5 give en årsagskode for hver bekræftelsespakke, hvilket giver os en bedre forståelse af, hvorfor en afbrydelse eller fejl opstod. Denne forbedring hjælper med fejlfinding og giver mulighed for mere præcis fejlhåndtering.
For eksempel, hvis en klient ikke kan oprette forbindelse til serveren, returnerer serveren en årsagskode, der forklarer, hvorfor forbindelsen mislykkedes. Dette kan skyldes en række problemer, lige fra forkerte loginoplysninger til at en server ikke er tilgængelig.
Sessionsudløbsintervaller: Håndtering af sessionslevetider
Denne funktion giver klienten mulighed for at angive hvordan længe bør serveren bevare sin session efter at klienten afbrydes. I tidligere MQTT-versioner sluttede en session enten umiddelbart efter afbrydelse eller fortsatte på ubestemt tid.
Med MQTT 5 kan du definere en bestemt periode, hvor sessionen skal holdes i live efter afbrydelse af forbindelsen. Dette giver større fleksibilitet i styring af sessionslevetider og sparer ressourcer på serveren.
MQTT 5 introducerer emnealiasser for at reducere overhead i meddelelsesoverskrifter. I tidligere versioner skulle emnenavnet inkluderes i hver meddelelse, hvilket førte til større pakkestørrelser.
Med emnealiasser kan et kort numerisk alias tildeles et emne. Dette alias kan bruges i stedet for det fulde emnenavn i efterfølgende meddelelser, hvilket reducerer størrelsen af MQTT-headeren betydeligt og sparer netværksbåndbredde.
Denne funktion giver brugerne mulighed for at inkludere brugerdefinerede metadata i overskrifterne på MQTT-pakker. Dette kan være særligt nyttigt for applikationer, der skal sende yderligere oplysninger med deres MQTT-beskeder, såsom meddelelsens tidsstempel, enhedsplacering eller andre applikationsspecifikke data Brugeregenskaber giver større fleksibilitet og kontrol over MQTT-beskeder.
Abonnementsmuligheder: Granulære abonnementskontroller
MQTT 5 giver klienter mulighed for at specificere hvordan de ønsker at modtage beskeder for hvert abonnent emne. For eksempel kan klienter nu angive, om de ønsker at modtage bevarede beskeder for et bestemt abonnement, eller om de ønsker at modtage beskeder, selvom de har samme QoS (Quality of Service) niveau som abonnementet.
Anmodning/svar: Giver kunder mulighed for at svare på et specificeret emne
anmodning/svar funktion giver en klient mulighed for at angive et emne, som serveren kan bruge til at sende et direkte svar.
I tidligere versioner af MQTT, hvis en klient ønskede at sende et svar på en besked, skulle den offentliggøre svaret på et emne, og den oprindelige afsender skulle abonnere på dette emne for at modtage svaret. Med MQTT 5s anmodning/svar-funktion bliver kommunikationen mellem klienter og servere meget mere effektiv og ligetil.
Delt abonnement: Belastningsbalancerende funktion for abonnenter
Denne funktion giver flere kunder mulighed for at dele et abonnement. Når en meddelelse udgives til et delt emne, distribuerer serveren meddelelsen til en af klienterne i det delte abonnement, hvilket effektivt load-balancerer meddelelserne.
Denne funktion er især nyttig i scenarier, hvor du har flere forekomster af en tjeneste kørende, og du ønsker at fordele arbejdsbyrden jævnt mellem dem.
Aktuel support af mægler- og klient-SDK'er i MQTT 5.0
MQTT 5.0-protokollen er blevet godt modtaget af IoT-fællesskabet og talrige MQTT mæglere og klientsoftwareudviklingssæt (SDK'er) har tilføjet support til det. Store MQTT-mæglere har allerede implementeret MQTT 5.0-funktioner i deres platforme, hvilket giver brugerne mulighed for at udnytte fordelene ved den nye protokol.
På klient-SDK-fronten har biblioteker som Paho, der har en bred brugerbase, tilføjet understøttelse af MQTT 5.0. Det betyder, at udviklere nu kan bruge MQTT 5.0-funktioner i deres IoT-applikationer. Andre eksempler på klient-SDK'er, der understøtter MQTT 5.0, er MQTT.js og MQTTnet.
Tjekliste til migrering fra MQTT 3.1.1 til MQTT 5
Hvis du i øjeblikket bruger MQTT 3.1.1, er det sandsynligvis tid til at opgradere til MQTT 5. Her er nogle af de vigtigste ting, du bør overveje, når du foretager flytningen.
Opdater MQTT Brokers
Når du har evalueret din nuværende infrastruktur og besluttet at gå videre med migreringen, er næste skridt at opdatere dine MQTT-mæglere. Dette involverer installation af den seneste version af din MQTT-mægler, der understøtter MQTT 5.0.
Opgradering af din mægler bør ske med omhu, da det påvirker alle dine MQTT klienter. Det er tilrådeligt først at teste den nye mægler i et ikke-produktionsmiljø, før den rulles ud i produktionen. Sørg også for, at din mæglers konfiguration er opdateret efter behov for at understøtte de nye funktioner introduceret i MQTT 5.0.
Opdater klientbiblioteker
Efter opdatering af dine MQTT-mæglere er næste trin at opdatere dine MQTT-klientbiblioteker. Ligesom mægleropdateringen bør du først udføre denne opdatering i et ikke-produktionsmiljø. Sørg også for, at din applikationskode er opdateret til at håndtere de nye MQTT 5.0-funktioner. Tag i betragtning, at dette kan involvere en vis koderefaktorering.
Adressesikkerhed
Mens MQTT 5.0 bringer flere forbedringer, introducerer det også nye sikkerhedsovervejelser. For eksempel, med den nye brugeregenskabsfunktion kan kunder nu sende brugerdefinerede data til mægleren.
Selvom dette er en kraftfuld funktion, kan den udnyttes, hvis den ikke bruges korrekt. Derfor er det vigtigt at vurdere alle de nye funktioner ud fra et sikkerhedsperspektiv.
Nogle af de trin, du kan tage for at løse sikkerheden, inkluderer brug af den nye forbedrede godkendelsesfunktion for stærkere sikkerhed, begrænsning af de brugeregenskaber, som klienter kan sende til kun det, der er nødvendigt, og løbende overvågning for mistænkelige aktiviteter.
Overvåg efter migrering
Endelig, efter at du har migreret til MQTT 5.0 og implementeret dens funktioner, er det vigtigt løbende at overvåge dit system. Overvågning bør ikke kun være begrænset til tekniske aspekter som levering af beskeder eller klientforbindelser.
Du bør også overvåge brugen af de nye MQTT 5.0-funktioner i dine applikationer. Dette vil give dig indsigt i, hvordan disse funktioner forbedrer dine applikationer, og hvor der kan foretages yderligere forbedringer.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :har
- :er
- :ikke
- :hvor
- 1
- 2014
- 2019
- 7
- a
- Konto
- aktiviteter
- tilføjet
- Yderligere
- yderligere information
- adresse
- Vedtagelse
- tilrådeligt
- Efter
- forude
- hjælpemidler
- live
- Alle
- tillade
- tillader
- allerede
- også
- blandt
- an
- ,
- enhver
- Anvendelse
- applikationer
- ER
- AS
- aspekter
- vurdere
- tildelt
- Godkendelse
- båndbredde
- bund
- BE
- bliver
- været
- før
- være
- fordele
- Bedre
- mellem
- Bringer
- bred
- mægler
- mæglere
- by
- CAN
- hvilken
- Ændringer
- skiftende
- klarhed
- kunde
- kunder
- kode
- koder
- Kommunikation
- samfund
- komplekse
- Konfiguration
- Tilslut
- tilslutning
- Tilslutninger
- Overvej
- overvejelser
- fortsatte
- kontinuerligt
- kontrol
- korrekt
- kunne
- Legitimationsoplysninger
- Nuværende
- For øjeblikket
- skik
- data
- besluttede
- definere
- leverer
- levering
- konstrueret
- udviklet
- udviklere
- Udvikling
- enhed
- Enheder
- DID
- direkte
- frakobling
- distribuere
- færdig
- dr
- grund
- hver
- tidligere
- let
- effektivt
- effektivitet
- effektiv
- enten
- sluttede
- forbedret
- styrke
- sikre
- Miljø
- udstyret
- fejl
- evalueret
- Endog
- jævnt
- Hver
- evolution
- udviklet sig
- eksempel
- eksempler
- udløbet
- Forklar
- forklarer
- Exploited
- udforske
- mislykkes
- Manglende
- Feature
- Funktionalitet
- Fornavn
- Fleksibilitet
- Fodspor
- Til
- fra
- forsiden
- fuld
- funktion
- yderligere
- Giv
- Give
- Go
- større
- havde
- håndtere
- Håndtering
- Have
- headers
- link.
- historie
- Hvordan
- HTTPS
- IBM
- if
- straks
- Påvirkninger
- gennemføre
- implementeret
- vigtigt
- Forbedre
- forbedringer
- in
- omfatter
- medtaget
- industrien
- oplysninger
- Infrastruktur
- initial
- indsigt
- installation
- instans
- forekomster
- Interoperabilitet
- ind
- introduceret
- Introducerer
- involvere
- involverer
- tingenes internet
- iot-enheder
- spørgsmål
- IT
- ITS
- jpg
- lige
- holdt
- Nøgle
- større
- Sent
- seneste
- førende
- Led
- Niveau
- Leverage
- biblioteker
- letvægt
- ligesom
- Limited
- placering
- Logge på
- lavet
- Main
- vedligeholde
- større
- Making
- styring
- mange
- max-bredde
- midler
- besked
- beskeder
- messaging
- Metadata
- måske
- migreret
- migrere
- migration
- mindre
- Moderne
- Overvåg
- overvågning
- mere
- mere effektiv
- bevæge sig
- meget
- flere
- navn
- nødvendig
- Behov
- behov
- behov
- netværk
- net
- Ny
- Nye funktioner
- næste
- nu
- Oasis
- forekom
- of
- tilbyde
- Olie
- on
- ONE
- kun
- Indstillinger
- or
- original
- Andet
- ud
- i løbet af
- pakker
- særlig
- især
- udføre
- periode
- perspektiv
- Place
- Platforme
- plato
- Platon Data Intelligence
- PlatoData
- Populær
- vigtigste
- brug
- tidligere
- sandsynligvis
- produktion
- egenskaber
- ejendom
- protokol
- protokoller
- give
- giver
- offentliggøre
- offentliggjort
- kvalitet
- rækkevidde
- grund
- modtage
- modtaget
- reducere
- reducere
- frigivet
- fjern
- svar
- påkrævet
- Krav
- Ressourcer
- svar
- bevaret
- afkast
- Rullende
- kører
- samme
- satellit
- scenarier
- SDK
- sdks
- sikkerhed
- send
- afsender
- server
- servere
- tjeneste
- Session
- flere
- Del
- delt
- Kort
- bør
- betydeligt
- enkelhed
- Størrelse
- størrelser
- lille
- So
- Software
- softwareudvikling
- nogle
- specifikke
- specificeret
- standard
- står
- Trin
- Steps
- ligetil
- stærkere
- abonnement
- abonnementer
- efterfølgende
- sådan
- egnede
- support
- Støtte
- Understøtter
- mistænksom
- systemet
- Tag
- Teknisk
- prøve
- at
- deres
- Them
- derfor
- Disse
- de
- ting
- denne
- tid
- tidsstempel
- til
- emne
- transportere
- forståelse
- Opdatering
- opdateret
- opdatering
- opgradering
- på
- us
- Brug
- brug
- anvendte
- Bruger
- brugere
- ved brug af
- udnytte
- udgave
- ønsker
- ønskede
- var
- GODT
- hvornår
- hvorvidt
- som
- hvorfor
- udbredt
- vilje
- med
- dig
- Din
- zephyrnet