MQTT, que significa Message Queuing Telemetry Transport, es un protocolo de mensajería liviano diseñado para dispositivos restringidos y redes de alta latencia y bajo ancho de banda. Es particularmente útil para conexiones remotas donde se requiere un código pequeño o el ancho de banda de la red es limitado.
MQTT 5 es la última versión del protocolo y ofrece muchas mejoras con respecto a sus predecesores. Las nuevas funciones incluyen códigos de motivo, intervalos de caducidad de sesiones, alias de temas, propiedades de usuario, opciones de suscripción, funciones de solicitud/respuesta y suscripciones compartidas.
Exploraremos estas nuevas características, explicaremos cómo los SDK de clientes y brokers populares son compatibles con MQTT 5 y algunas consideraciones clave al migrar de MQTT 3.1.1 a MQTT 5.
Breve historia y evolución de MQTT 5
MQTT fue desarrollado por primera vez a finales de la década de 1990 por el Dr. Andy Stanford-Clark de IBM y Arlen Nipper de Arcom (ahora Eurotech), para monitorear oleoductos a través de redes satelitales. La versión inicial, MQTT v3.1, fue diseñada para ser liviana y fácil de implementar, lo que la hace adecuada para muchos dispositivos IoT.
MQTT 3.1.1, un estándar de OASIS, se lanzó en 2014, que incluyó cambios menores en el protocolo para mejorar su claridad e interoperabilidad. Su simplicidad y eficiencia en la entrega de mensajes a través de redes con recursos limitados llevaron a su adopción generalizada en aplicaciones de IoT.
Sin embargo, a medida que la industria de IoT evolucionó, también lo hicieron las necesidades de sus aplicaciones. Esto llevó al desarrollo de MQTT 5, lanzado en 2019, que introdujo nuevas funciones para abordar estas necesidades cambiantes. Con sus características mejoradas, MQTT 5 está mejor equipado para manejar los complejos requisitos de las aplicaciones modernas de IoT.
7 nuevas funciones en MQTT v5
Códigos de motivo: comprensión de las desconexiones o fallas
A diferencia de sus predecesores, MQTT 5 puede proporcionar una código de razón para cada paquete de confirmación, lo que nos brinda una mejor comprensión de por qué ocurrió una desconexión o falla. Esta mejora ayuda en la resolución de problemas y permite un manejo de errores más preciso.
Por ejemplo, si un cliente no logra conectarse al servidor, el servidor devolverá un código de motivo que explica por qué la conexión no tuvo éxito. Esto podría deberse a una variedad de problemas, desde credenciales de inicio de sesión incorrectas hasta que un servidor no esté disponible.
Intervalos de caducidad de sesiones: gestión de la duración de las sesiones
Esta característica permite al cliente especificar cómo Durante mucho tiempo el servidor debe mantener su sesión. después de que el cliente se desconecta. En versiones anteriores de MQTT, una sesión finalizaba inmediatamente después de la desconexión o continuaba indefinidamente.
Con MQTT 5, puede definir un período específico durante el cual la sesión debe mantenerse activa después de la desconexión. Esto proporciona una mayor flexibilidad en la gestión de la duración de las sesiones y conserva los recursos en el servidor.
MQTT 5 presenta alias de tema para reducir la sobrecarga en los encabezados de los mensajes. En versiones anteriores, el nombre del tema debía incluirse en cada mensaje, lo que generaba paquetes de mayor tamaño.
Con los alias de tema, se puede asignar un alias numérico corto a un tema. Este alias se puede utilizar en lugar del nombre completo del tema en mensajes posteriores, lo que reduce significativamente el tamaño del encabezado MQTT y conserva el ancho de banda de la red.
Esta característica permite a los usuarios incluir metadatos personalizados en los encabezados de los paquetes MQTT. Esto puede resultar particularmente útil para aplicaciones que necesitan enviar información adicional con sus mensajes MQTT, como la marca de tiempo del mensaje, la ubicación del dispositivo u otros datos específicos de la aplicación. Las propiedades del usuario brindan mayor flexibilidad y control sobre la mensajería MQTT.
Opciones de suscripción: controles de suscripción granulares
MQTT 5 permite a los clientes especificar cómo quieren recibir mensajes para cada tema suscrito. Por ejemplo, los clientes ahora pueden especificar si desean recibir mensajes retenidos para una suscripción en particular, o si desean recibir mensajes incluso si tienen el mismo nivel de QoS (calidad de servicio) que la suscripción.
Solicitud/Respuesta: permitir a los clientes responder a un tema específico
La función de solicitud/respuesta permite a un cliente especificar un tema que el servidor puede utilizar para enviar una respuesta directa.
En versiones anteriores de MQTT, si un cliente quería enviar una respuesta a un mensaje, tenía que publicar la respuesta a un tema y el remitente original tenía que estar suscrito a ese tema para recibir la respuesta. Con la función de solicitud/respuesta de MQTT 5, la comunicación entre clientes y servidores se vuelve mucho más eficiente y sencilla.
Suscripción compartida: función de equilibrio de carga para suscriptores
Esta característica permite que varios clientes compartan una suscripción. Cuando se publica un mensaje en un tema compartido, el servidor distribuye el mensaje a uno de los clientes de la suscripción compartida, equilibrando efectivamente la carga de los mensajes.
Esta característica es particularmente útil en escenarios en los que tiene varias instancias de un servicio en ejecución y desea distribuir la carga de trabajo de manera uniforme entre ellas.
Soporte actual de SDK de broker y cliente en MQTT 5.0
El protocolo MQTT 5.0 ha sido bien recibido por la comunidad de IoT y numerosos Corredores MQTT y los kits de desarrollo de software (SDK) del cliente han agregado soporte para ello. Los principales corredores de MQTT ya han implementado funciones de MQTT 5.0 en sus plataformas, lo que permite a los usuarios aprovechar los beneficios del nuevo protocolo.
En el frente del SDK del cliente, bibliotecas como Paho, que tienen una amplia base de usuarios, han agregado soporte para MQTT 5.0. Esto significa que los desarrolladores ahora pueden utilizar las funciones de MQTT 5.0 en sus aplicaciones de IoT. Otros ejemplos de SDK de cliente que admiten MQTT 5.0 son MQTT.js y MQTTnet.
Lista de verificación para migrar de MQTT 3.1.1 a MQTT 5
Si actualmente está utilizando MQTT 3.1.1, probablemente sea el momento de actualizar a MQTT 5. Estas son algunas de las cosas principales que debe considerar al realizar la transición.
Actualizar corredores MQTT
Una vez que haya evaluado su infraestructura actual y haya decidido continuar con la migración, el siguiente paso es actualizar sus corredores MQTT. Esto implica instalar la última versión de su corredor MQTT que admita MQTT 5.0.
La actualización de su corredor debe hacerse con cuidado, ya que afecta a todos sus Clientes MQTT. Es recomendable probar primero el nuevo corredor en un entorno que no sea de producción antes de implementarlo en producción. Además, asegúrese de que la configuración de su corredor esté actualizada según sea necesario para admitir las nuevas funciones introducidas en MQTT 5.0.
Actualizar bibliotecas de clientes
Después de actualizar sus corredores MQTT, el siguiente paso es actualizar sus bibliotecas de clientes MQTT. Al igual que la actualización del intermediario, primero debe realizar esta actualización en un entorno que no sea de producción. Además, asegúrese de que el código de su aplicación esté actualizado para manejar las nuevas funciones de MQTT 5.0. Tenga en cuenta que esto podría implicar alguna refactorización del código.
Seguridad de la dirección
Si bien MQTT 5.0 trae varias mejoras, también introduce nuevas consideraciones de seguridad. Por ejemplo, con la nueva función de propiedad del usuario, los clientes ahora pueden enviar datos personalizados al corredor.
Si bien esta es una característica poderosa, puede explotarse si no se usa correctamente. Por lo tanto, es importante evaluar todas las funciones nuevas desde una perspectiva de seguridad.
Algunos de los pasos que puede tomar para abordar la seguridad incluyen el uso de la nueva función de autenticación mejorada para una mayor seguridad, limitar las propiedades de usuario que los clientes pueden enviar solo a lo que sea necesario y monitorear continuamente cualquier actividad sospechosa.
Monitorear después de la migración
Finalmente, después de haber migrado a MQTT 5.0 e implementado sus funciones, es importante monitorear continuamente su sistema. El monitoreo no debe limitarse sólo a aspectos técnicos como la entrega de mensajes o las conexiones de los clientes.
También debe monitorear el uso de las nuevas funciones MQTT 5.0 en sus aplicaciones. Esto le brindará información sobre cómo estas funciones mejoran sus aplicaciones y dónde se pueden realizar más mejoras.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :posee
- :es
- :no
- :dónde
- 1
- 2014
- 2019
- 7
- a
- Mi Cuenta
- actividades
- adicional
- Adicionales
- Información adicional
- dirección
- Adopción
- aconsejable
- Después
- adelante
- SIDA
- vivo
- Todos
- Permitir
- permite
- ya haya utilizado
- también
- entre
- an
- y
- cualquier
- Aplicación
- aplicaciones
- somos
- AS
- aspectos
- evaluar
- asigna
- Autenticación
- Ancho de banda
- bases
- BE
- se convierte en
- esto
- antes
- "Ser"
- beneficios
- mejores
- entre
- Trae
- general
- corredor
- corredores
- by
- PUEDEN
- servicios sociales
- Cambios
- cambio
- transparencia
- cliente
- clientes
- código
- los códigos de
- Comunicación
- vibrante e inclusiva
- integraciones
- Configuración
- Contacto
- conexión
- Conexiones
- Considerar
- consideraciones
- continuado
- continuamente
- control
- correctamente
- podría
- Referencias
- Current
- En la actualidad
- personalizado
- datos
- decidido
- definir
- entregar
- entrega
- diseñado
- desarrollado
- desarrolladores
- Desarrollo
- dispositivo
- Dispositivos
- HIZO
- de reservas
- desconexión
- distribuir
- hecho
- dr
- dos
- cada una
- Más temprano
- de forma sencilla
- de manera eficaz
- eficiencia
- eficiente
- ya sea
- terminó
- mejorado
- mejorar
- garantizar
- Entorno
- equipado
- error
- evaluado
- Incluso
- igualmente
- Cada
- evolución
- evolucionado
- ejemplo
- ejemplos
- expiración
- Explicar
- explicando
- Explotado
- explorar
- falla
- Fracaso
- Feature
- Caracteristicas
- Nombre
- Flexibilidad
- Footprint
- Desde
- frontal o trasero
- ser completados
- función
- promover
- Donar
- Diezmos y Ofrendas
- Go
- mayor
- tenido
- encargarse de
- Manejo
- Tienen
- cabeceras
- esta página
- historia
- Cómo
- HTTPS
- IBM
- if
- inmediatamente
- Impactos
- implementar
- implementado
- importante
- mejorar
- es la mejora continua
- mejoras
- in
- incluir
- incluido
- energético
- información
- EN LA MINA
- inicial
- Insights
- instalando
- ejemplo
- instancias
- Interoperabilidad
- dentro
- Introducido
- Presenta
- involucrar
- implica
- IOT
- dispositivos iot
- cuestiones
- IT
- SUS
- jpg
- solo
- mantenido
- Clave
- mayores
- Tarde
- más reciente
- líder
- LED
- Nivel
- Apalancamiento
- bibliotecas
- ligero
- como
- Limitada
- Ubicación
- Inicie sesión
- hecho
- Inicio
- mantener
- gran
- Realizar
- administrar
- muchos
- max-ancho
- significa
- mensaje
- la vida
- mensajería
- metadatos
- podría
- migrado
- migrar
- migración
- menor de edad
- Moderno
- Monitorear
- monitoreo
- más,
- más eficiente
- movimiento
- mucho más
- múltiples
- nombre
- necesario
- ¿ Necesita ayuda
- del sistema,
- telecomunicaciones
- Nuevo
- Nuevas características
- Next
- ahora
- Oasis
- se produjo
- of
- que ofrece
- Aceite
- on
- ONE
- , solamente
- Opciones
- or
- reconocida por
- Otro
- salir
- Más de
- paquetes
- particular
- particularmente
- realizar
- período
- la perspectiva
- Colocar
- Plataformas
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- Popular
- poderoso
- necesidad
- anterior
- probablemente
- Producción
- propiedades
- perfecta
- protocolo
- protocolos
- proporcionar
- proporciona un
- publicar
- publicado
- calidad
- distancia
- razón
- recepción
- recibido
- reducir
- la reducción de
- liberado
- sanaciones
- responder
- Requisitos
- Requisitos
- Recursos
- respuesta
- retenido
- volvemos
- Rolling
- correr
- mismo
- satélite
- escenarios
- Sdk
- SDK
- EN LINEA
- envío
- remitente
- servidor
- servidores
- de coches
- Sesión
- Varios
- Compartir
- compartido
- En Corto
- tienes
- significativamente
- sencillez
- Tamaño
- tamaños
- chica
- So
- Software
- Desarrollo de software ad-hoc
- algo
- soluciones y
- especificado
- estándar
- es la
- paso
- pasos
- sencillo
- más fuerte
- suscripción
- suscripciones
- posterior
- tal
- adecuado
- SOPORTE
- Apoyar
- soportes
- suspicaz
- te
- ¡Prepárate!
- Técnico
- test
- esa
- La
- su
- Les
- por lo tanto
- Estas
- ellos
- cosas
- así
- equipo
- fecha y hora
- a
- tema
- transporte
- comprensión
- Actualizar
- actualizado
- actualización
- actualizar
- a
- us
- Uso
- utilizan el
- usado
- Usuario
- usuarios
- usando
- utilizar
- versión
- quieres
- deseado
- fue
- WELL
- cuando
- sean
- que
- porque
- extendido
- seguirá
- Usted
- tú
- zephyrnet