MQTT, che sta per Message Queuing Telemetry Transport, è un protocollo di messaggistica leggero progettato per dispositivi vincolati e reti a larghezza di banda ridotta e ad alta latenza. È particolarmente utile per le connessioni remote in cui è richiesto un ingombro di codice ridotto o la larghezza di banda della rete è limitata.
MQTT 5 è l'ultima versione del protocollo e offre numerosi miglioramenti rispetto ai suoi predecessori. Le nuove funzionalità includono codici motivo, intervalli di scadenza delle sessioni, alias degli argomenti, proprietà utente, opzioni di abbonamento, funzionalità di richiesta/risposta e abbonamenti condivisi.
Esploreremo queste nuove funzionalità, spiegheremo come i broker più diffusi e gli SDK client supportano MQTT 5 e alcune considerazioni chiave durante la migrazione da MQTT 3.1.1 a MQTT 5.
Breve storia ed evoluzione di MQTT 5
MQTT è stato sviluppato per la prima volta alla fine degli anni '1990 dal Dr. Andy Stanford-Clark di IBM e Arlen Nipper di Arcom (ora Eurotech), per monitorare gli oleodotti sulle reti satellitari. La versione iniziale, MQTT v3.1, è stata progettata per essere leggera e facile da implementare, rendendola adatta a molti dispositivi IoT.
Nel 3.1.1 è stato rilasciato MQTT 2014, uno standard OASIS, che includeva piccole modifiche al protocollo per migliorarne la chiarezza e l'interoperabilità. La sua semplicità ed efficienza nel recapitare messaggi su reti con risorse limitate hanno portato alla sua diffusa adozione nelle applicazioni IoT.
Tuttavia, con l’evoluzione del settore IoT, si sono evolute anche le esigenze delle sue applicazioni. Ciò ha portato allo sviluppo di MQTT 5, rilasciato nel 2019, che ha introdotto nuove funzionalità per rispondere a queste mutevoli esigenze. Con le sue funzionalità migliorate, MQTT 5 è meglio attrezzato per gestire i complessi requisiti delle moderne applicazioni IoT.
7 nuove funzionalità in MQTT v5
Codici motivo: comprensione delle disconnessioni o degli errori
A differenza dei suoi predecessori, MQTT 5 può fornire a codice motivo per ogni pacchetto di riconoscimento, dandoci una migliore comprensione del motivo per cui si è verificata una disconnessione o un errore. Questo miglioramento aiuta nella risoluzione dei problemi e consente una gestione degli errori più precisa.
Ad esempio, se un client non riesce a connettersi al server, il server restituirà un codice motivo che spiega il motivo per cui la connessione non è riuscita. Ciò potrebbe essere dovuto a una serie di problemi, dalle credenziali di accesso errate alla non disponibilità del server.
Intervalli di scadenza delle sessioni: gestione della durata delle sessioni
Questa funzionalità consente al client di specificare come a lungo il server dovrebbe mantenere la sua sessione dopo che il client si è disconnesso. Nelle precedenti versioni MQTT, una sessione terminava immediatamente dopo la disconnessione o continuava indefinitamente.
Con MQTT 5 è possibile definire un periodo specifico per il quale la sessione deve essere mantenuta attiva dopo la disconnessione. Ciò fornisce una maggiore flessibilità nella gestione della durata delle sessioni e preserva le risorse sul server.
MQTT 5 introduce alias degli argomenti per ridurre il sovraccarico nelle intestazioni dei messaggi. Nelle versioni precedenti, il nome dell'argomento doveva essere incluso in ogni messaggio, il che portava a pacchetti di dimensioni maggiori.
Con gli alias degli argomenti è possibile assegnare un breve alias numerico a un argomento. Questo alias può essere utilizzato al posto del nome completo dell'argomento nei messaggi successivi, riducendo significativamente la dimensione dell'intestazione MQTT e preservando la larghezza di banda della rete.
Questa funzionalità consente agli utenti di includere metadati personalizzati nelle intestazioni dei pacchetti MQTT. Ciò può essere particolarmente utile per le applicazioni che devono inviare informazioni aggiuntive con i propri messaggi MQTT, come il timestamp del messaggio, la posizione del dispositivo o altri dati specifici dell'applicazione. Le proprietà utente forniscono maggiore flessibilità e controllo sulla messaggistica MQTT.
Opzioni di abbonamento: controlli granulari di abbonamento
MQTT 5 consente ai client di specificare come desiderano ricevere i messaggi per ciascun argomento sottoscritto. Ad esempio, i clienti possono ora specificare se desiderano ricevere messaggi conservati per un particolare abbonamento o se desiderano ricevere messaggi anche se hanno lo stesso livello di QoS (Quality of Service) dell'abbonamento.
Richiesta/Risposta: consentire ai client di rispondere a un argomento specifico
Il funzionalità di richiesta/risposta consente a un client di specificare un argomento che il server può utilizzare per inviare una risposta diretta.
Nelle versioni precedenti di MQTT, se un client desiderava inviare una risposta a un messaggio, doveva pubblicare la risposta su un argomento e il mittente originale doveva essere iscritto a quell'argomento per ricevere la risposta. Con la funzionalità di richiesta/risposta di MQTT 5, la comunicazione tra client e server diventa molto più efficiente e diretta.
Abbonamento condiviso: funzione di bilanciamento del carico per gli abbonati
Questa funzionalità consente a più client di condividere un abbonamento. Quando un messaggio viene pubblicato in un argomento condiviso, il server distribuisce il messaggio a uno dei client nella sottoscrizione condivisa, bilanciando in modo efficace il carico dei messaggi.
Questa funzionalità è particolarmente utile negli scenari in cui sono in esecuzione più istanze di un servizio e si desidera distribuire uniformemente il carico di lavoro tra di esse.
Supporto attuale degli SDK di broker e clienti in MQTT 5.0
Il protocollo MQTT 5.0 è stato ben accolto dalla comunità IoT e da numerosi Broker MQTT e i kit di sviluppo software (SDK) client ne hanno aggiunto il supporto. I principali broker MQTT hanno già implementato le funzionalità MQTT 5.0 nelle loro piattaforme, consentendo agli utenti di sfruttare i vantaggi del nuovo protocollo.
Sul fronte dell'SDK client, librerie come Paho, che hanno un'ampia base di utenti, hanno aggiunto il supporto per MQTT 5.0. Ciò significa che gli sviluppatori possono ora utilizzare le funzionalità MQTT 5.0 nelle loro applicazioni IoT. Altri esempi di SDK client che supportano MQTT 5.0 sono MQTT.js e MQTTnet.
Lista di controllo per la migrazione da MQTT 3.1.1 a MQTT 5
Se attualmente utilizzi MQTT 3.1.1, probabilmente è il momento di passare a MQTT 5. Ecco alcune delle cose principali che dovresti considerare quando effettui il passaggio.
Aggiorna i broker MQTT
Dopo aver valutato la tua attuale infrastruttura e deciso di procedere con la migrazione, il passaggio successivo è aggiornare i tuoi broker MQTT. Ciò comporta l'installazione della versione più recente del tuo broker MQTT che supporta MQTT 5.0.
L'aggiornamento del tuo broker dovrebbe essere fatto con cura, poiché ha un impatto su tutti i tuoi Client MQTT. È consigliabile testare prima il nuovo broker in un ambiente non di produzione prima di implementarlo in produzione. Inoltre, assicurati che la configurazione del tuo broker sia aggiornata secondo necessità per supportare le nuove funzionalità introdotte in MQTT 5.0.
Aggiorna le librerie client
Dopo aver aggiornato i tuoi broker MQTT, il passaggio successivo è aggiornare le librerie client MQTT. Proprio come l'aggiornamento del broker, è necessario eseguire prima questo aggiornamento in un ambiente non di produzione. Inoltre, assicurati che il codice dell'applicazione sia aggiornato per gestire le nuove funzionalità MQTT 5.0. Tieni presente che ciò potrebbe comportare il refactoring del codice.
Sicurezza degli indirizzi
Sebbene MQTT 5.0 apporti numerosi miglioramenti, introduce anche nuove considerazioni sulla sicurezza. Ad esempio, con la nuova funzionalità delle proprietà utente, i clienti possono ora inviare dati personalizzati al broker.
Sebbene questa sia una funzionalità potente, può essere sfruttata se non utilizzata correttamente. Pertanto, è importante valutare tutte le nuove funzionalità dal punto di vista della sicurezza.
Alcuni dei passaggi che puoi eseguire per affrontare la sicurezza includono l'utilizzo della nuova funzionalità di autenticazione avanzata per una maggiore sicurezza, la limitazione delle proprietà utente che i client possono inviare solo a ciò che è necessario e il monitoraggio continuo di eventuali attività sospette.
Monitorare dopo la migrazione
Infine, dopo aver effettuato la migrazione a MQTT 5.0 e implementato le sue funzionalità, è importante monitorare continuamente il proprio sistema. Il monitoraggio non dovrebbe limitarsi solo agli aspetti tecnici come la consegna dei messaggi o le connessioni dei client.
Dovresti anche monitorare l'utilizzo delle nuove funzionalità MQTT 5.0 nelle tue applicazioni. Ciò ti fornirà informazioni su come queste funzionalità stanno migliorando le tue applicazioni e dove è possibile apportare ulteriori miglioramenti.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :ha
- :È
- :non
- :Dove
- 1
- 2014
- 2019
- 7
- a
- Il mio account
- attività
- aggiunto
- aggiuntivo
- Informazioni aggiuntive
- indirizzo
- Adozione
- consigliabile
- Dopo shavasana, sedersi in silenzio; saluti;
- avanti
- AIDS
- vivo
- Tutti
- Consentire
- consente
- già
- anche
- tra
- an
- ed
- in qualsiasi
- Applicazioni
- applicazioni
- SONO
- AS
- aspetti
- valutare
- addetto
- Autenticazione
- Larghezza di banda
- base
- BE
- diventa
- stato
- prima
- essendo
- vantaggi
- Meglio
- fra
- Porta
- ampio
- broker
- brokers
- by
- Materiale
- che
- Modifiche
- cambiando
- chiarezza
- cliente
- clienti
- codice
- codici
- Comunicazione
- comunità
- complesso
- Configurazione
- Connettiti
- veloce
- Connessioni
- Prendere in considerazione
- Considerazioni
- continua
- continuamente
- di controllo
- correttamente
- potuto
- Credenziali
- Corrente
- Attualmente
- costume
- dati
- deciso
- definire
- consegna
- consegna
- progettato
- sviluppato
- sviluppatori
- Mercato
- dispositivo
- dispositivi
- DID
- dirette
- sconnessione
- distribuire
- fatto
- dr
- dovuto
- ogni
- In precedenza
- facile
- in maniera efficace
- efficienza
- efficiente
- o
- finito
- migliorata
- migliorando
- garantire
- Ambiente
- attrezzato
- errore
- valutato
- Anche
- ugualmente
- Ogni
- evoluzione
- si è evoluta
- esempio
- Esempi
- scadenza
- Spiegare
- spiegando
- Exploited
- esplora
- fallisce
- Fallimento
- caratteristica
- Caratteristiche
- Nome
- Flessibilità
- Orma
- Nel
- da
- anteriore
- pieno
- function
- ulteriormente
- Dare
- Dare
- Go
- maggiore
- ha avuto
- maniglia
- Manovrabilità
- Avere
- intestazioni
- qui
- storia
- Come
- HTTPS
- IBM
- if
- subito
- impatti
- realizzare
- implementato
- importante
- competenze
- miglioramento
- miglioramenti
- in
- includere
- incluso
- industria
- informazioni
- Infrastruttura
- inizialmente
- intuizioni
- installazione
- esempio
- istanze
- Interoperabilità
- ai miglioramenti
- introdotto
- Introduce
- coinvolgere
- comporta
- IoT
- dispositivi iot
- sicurezza
- IT
- SUO
- jpg
- ad appena
- tenere
- Le
- superiore, se assunto singolarmente.
- In ritardo
- con i più recenti
- principale
- Guidato
- Livello
- Leva
- biblioteche
- leggero
- piace
- Limitato
- località
- accesso
- fatto
- Principale
- mantenere
- maggiore
- Fare
- gestione
- molti
- max-width
- si intende
- messaggio
- messaggi
- di messaggistica
- Metadati
- forza
- migrato
- la migrazione
- migrazione
- minore
- moderno
- Monitorare
- monitoraggio
- Scopri di più
- più efficiente
- cambiano
- molti
- multiplo
- Nome
- necessaria
- Bisogno
- di applicazione
- esigenze
- Rete
- reti
- New
- Nuove funzionalità
- GENERAZIONE
- adesso
- Oasi
- si è verificato
- of
- offerta
- Olio
- on
- ONE
- esclusivamente
- Opzioni
- or
- i
- Altro
- su
- ancora
- pacchetti
- particolare
- particolarmente
- eseguire
- periodo
- prospettiva
- posto
- Piattaforme
- Platone
- Platone Data Intelligence
- PlatoneDati
- Popolare
- potente
- bisogno
- precedente
- probabilmente
- Produzione
- proprietà
- proprietà
- protocollo
- protocolli
- fornire
- fornisce
- pubblicare
- pubblicato
- qualità
- gamma
- ragione
- ricevere
- ricevuto
- ridurre
- riducendo
- rilasciato
- a distanza
- rispondere
- necessario
- Requisiti
- Risorse
- risposta
- mantenuto
- ritorno
- rotolamento
- running
- stesso
- satellitare
- Scenari
- sdk
- sdk
- problemi di
- inviare
- trasmettitore
- server
- server
- servizio
- Sessione
- alcuni
- Condividi
- condiviso
- Corti
- dovrebbero
- significativamente
- semplicità
- Taglia
- Dimensioni
- piccole
- So
- Software
- lo sviluppo del software
- alcuni
- specifico
- specificato
- Standard
- si
- step
- Passi
- lineare
- più forte
- sottoscrizione
- abbonamenti
- successivo
- tale
- adatto
- supporto
- Supporto
- supporti
- sospettoso
- sistema
- Fai
- Consulenza
- test
- che
- Il
- loro
- Li
- perciò
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- cose
- questo
- tempo
- timestamp
- a
- argomento
- trasporto
- e una comprensione reciproca
- Aggiornanento
- aggiornato
- aggiornamento
- upgrade
- su
- us
- Impiego
- uso
- utilizzato
- Utente
- utenti
- utilizzando
- utilizzare
- versione
- volere
- ricercato
- Prima
- WELL
- quando
- se
- quale
- perché
- molto diffuso
- volere
- con
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro