MQTT, que significa Message Queuing Telemetry Transport, é um protocolo de mensagens leve projetado para dispositivos restritos e redes de baixa largura de banda e alta latência. É particularmente útil para conexões remotas onde é necessário um pequeno espaço de código ou a largura de banda da rede é limitada.
MQTT 5 é a versão mais recente do protocolo, oferecendo muitas melhorias em relação aos seus antecessores. Novos recursos incluem códigos de motivo, intervalos de expiração de sessões, aliases de tópicos, propriedades do usuário, opções de assinatura, recursos de solicitação/resposta e assinaturas compartilhadas.
Exploraremos esses novos recursos, explicaremos como corretores populares e SDKs de clientes estão suportando o MQTT 5 e algumas considerações importantes ao migrar do MQTT 3.1.1 para o MQTT 5.
Breve História e Evolução do MQTT 5
O MQTT foi desenvolvido pela primeira vez no final da década de 1990 pelo Dr. Andy Stanford-Clark da IBM e Arlen Nipper da Arcom (agora Eurotech), para monitorar oleodutos em redes de satélite. A versão inicial, MQTT v3.1, foi projetada para ser leve e fácil de implementar, tornando-a adequada para muitos dispositivos IoT.
O MQTT 3.1.1, um padrão OASIS, foi lançado em 2014, que incluiu pequenas alterações no protocolo para melhorar sua clareza e interoperabilidade. A sua simplicidade e eficiência na entrega de mensagens através de redes com recursos limitados levaram à sua ampla adoção em aplicações IoT.
No entanto, à medida que a indústria da IoT evoluiu, também evoluíram as necessidades das suas aplicações. Isto levou ao desenvolvimento do MQTT 5, lançado em 2019, que introduziu novos recursos para atender a essas necessidades em constante mudança. Com seus recursos aprimorados, o MQTT 5 está mais bem equipado para lidar com os requisitos complexos dos aplicativos IoT modernos.
7 novos recursos no MQTT v5
Códigos de Razão: Compreendendo Desconexões ou Falhas
Ao contrário de seus antecessores, o MQTT 5 pode fornecer uma Código de razão para cada pacote de confirmação, dando-nos uma melhor compreensão do motivo de uma desconexão ou falha. Essa melhoria auxilia na solução de problemas e permite um tratamento de erros mais preciso.
Por exemplo, se um cliente não conseguir se conectar ao servidor, o servidor retornará um código de razão explicando por que a conexão não foi bem-sucedida. Isso pode ser devido a uma série de problemas, desde credenciais de login incorretas até indisponibilidade de um servidor.
Intervalos de expiração de sessão: gerenciando a vida útil da sessão
Este recurso permite que o cliente especifique como por quanto tempo o servidor deve manter sua sessão depois que o cliente se desconecta. Nas versões anteriores do MQTT, uma sessão terminava imediatamente após a desconexão ou continuava indefinidamente.
Com o MQTT 5, você pode definir um período específico durante o qual a sessão deve ser mantida ativa após a desconexão. Isso proporciona maior flexibilidade no gerenciamento do tempo de vida das sessões e conserva recursos no servidor.
MQTT 5 apresenta apelidos de tópico para reduzir a sobrecarga nos cabeçalhos das mensagens. Nas versões anteriores, o nome do tópico precisava ser incluído em cada mensagem, levando a pacotes maiores.
Com aliases de tópico, um alias numérico curto pode ser atribuído a um tópico. Esse alias pode ser usado no lugar do nome completo do tópico em mensagens subsequentes, reduzindo significativamente o tamanho do cabeçalho MQTT e conservando a largura de banda da rede.
Este recurso permite que os usuários incluam metadados personalizados nos cabeçalhos dos pacotes MQTT. Isso pode ser particularmente útil para aplicativos que precisam enviar informações adicionais com suas mensagens MQTT, como carimbo de data/hora da mensagem, localização do dispositivo ou outros dados específicos do aplicativo. As propriedades do usuário fornecem maior flexibilidade e controle sobre mensagens MQTT.
Opções de assinatura: controles granulares de assinatura
MQTT 5 permite que os clientes especifiquem como eles desejam receber mensagens para cada tópico inscrito. Por exemplo, os clientes agora podem especificar se desejam receber mensagens retidas para uma assinatura específica ou se desejam receber mensagens mesmo que tenham o mesmo nível de QoS (Qualidade de Serviço) da assinatura.
Solicitação/Resposta: Permitindo que os clientes respondam a um tópico específico
A recurso de solicitação/resposta permite que um cliente especifique um tópico que o servidor pode usar para enviar uma resposta direta.
Nas versões anteriores do MQTT, se um cliente quisesse enviar uma resposta a uma mensagem, ele teria que publicar a resposta em um tópico, e o remetente original teria que estar inscrito nesse tópico para receber a resposta. Com o recurso de solicitação/resposta do MQTT 5, a comunicação entre clientes e servidores se torna muito mais eficiente e direta.
Assinatura Compartilhada: Função de Balanceamento de Carga para Assinantes
Este recurso permite que vários clientes compartilhem uma assinatura. Quando uma mensagem é publicada em um tópico compartilhado, o servidor distribui a mensagem para um dos clientes na assinatura compartilhada, efetivamente balanceando a carga das mensagens.
Esse recurso é particularmente útil em cenários em que você tem diversas instâncias de um serviço em execução e deseja distribuir a carga de trabalho uniformemente entre elas.
Suporte atual de SDKs de corretores e clientes no MQTT 5.0
O protocolo MQTT 5.0 foi bem recebido pela comunidade IoT e numerosos Corretores MQTT e os kits de desenvolvimento de software (SDKs) do cliente adicionaram suporte para ele. Os principais corretores MQTT já implementaram recursos do MQTT 5.0 em suas plataformas, permitindo aos usuários aproveitar os benefícios do novo protocolo.
No lado do SDK do cliente, bibliotecas como Paho, que possuem uma ampla base de usuários, adicionaram suporte para MQTT 5.0. Isso significa que os desenvolvedores agora podem utilizar os recursos do MQTT 5.0 em seus aplicativos IoT. Outros exemplos de SDKs de cliente compatíveis com MQTT 5.0 são MQTT.js e MQTTnet.
Lista de verificação para migração do MQTT 3.1.1 para o MQTT 5
Se você estiver usando atualmente o MQTT 3.1.1, provavelmente é hora de atualizar para o MQTT 5. Aqui estão algumas das principais coisas que você deve considerar ao fazer a mudança.
Atualizar corretores MQTT
Depois de avaliar sua infraestrutura atual e decidir prosseguir com a migração, a próxima etapa é atualizar seus corretores MQTT. Isso envolve a instalação da versão mais recente do seu broker MQTT que suporta MQTT 5.0.
A atualização da sua corretora deve ser feita com cuidado, pois impacta todos os seus Clientes MQTT. É aconselhável testar primeiro o novo corretor em um ambiente de não produção antes de implementá-lo em produção. Além disso, certifique-se de que a configuração do seu corretor seja atualizada conforme necessário para suportar os novos recursos introduzidos no MQTT 5.0.
Atualizar bibliotecas de cliente
Após atualizar seus brokers MQTT, a próxima etapa é atualizar suas bibliotecas de cliente MQTT. Assim como a atualização do corretor, você deve primeiro realizar esta atualização em um ambiente que não seja de produção. Além disso, certifique-se de que o código do seu aplicativo esteja atualizado para lidar com os novos recursos do MQTT 5.0. Leve em consideração que isso pode envolver alguma refatoração de código.
Segurança de endereço
Embora o MQTT 5.0 traga diversas melhorias, ele também introduz novas considerações de segurança. Por exemplo, com o novo recurso de propriedade do usuário, os clientes agora podem enviar dados personalizados ao corretor.
Embora este seja um recurso poderoso, ele pode ser explorado se não for usado corretamente. Portanto, é importante avaliar todos os novos recursos do ponto de vista da segurança.
Algumas das etapas que você pode seguir para abordar a segurança incluem o uso do novo recurso de autenticação aprimorada para maior segurança, limitando as propriedades do usuário que os clientes podem enviar apenas ao necessário e monitorando continuamente quaisquer atividades suspeitas.
Monitorar após a migração
Finalmente, depois de migrar para o MQTT 5.0 e implementar seus recursos, é importante monitorar continuamente o seu sistema. O monitoramento não deve se limitar apenas a aspectos técnicos como entrega de mensagens ou conexões de clientes.
Você também deve monitorar o uso dos novos recursos do MQTT 5.0 em seus aplicativos. Isso lhe dará insights sobre como esses recursos estão aprimorando seus aplicativos e onde melhorias adicionais podem ser feitas.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://www.iotforall.com/mqtt-5-7-new-features-and-a-migration-checklist
- :tem
- :é
- :não
- :onde
- 1
- 2014
- 2019
- 7
- a
- Conta
- atividades
- adicionado
- Adicional
- Informação adicional
- endereço
- Adoção
- aconselhável
- Depois de
- à frente
- SIDA
- vivo
- Todos os Produtos
- Permitindo
- permite
- já
- tb
- entre
- an
- e
- qualquer
- Aplicação
- aplicações
- SOMOS
- AS
- aspectos
- avaliar
- atribuído
- Autenticação
- Largura de Banda
- base
- BE
- torna-se
- sido
- antes
- ser
- Benefícios
- Melhor
- entre
- Traz
- amplo
- corretor
- corretores
- by
- CAN
- Cuidado
- Alterações
- mudança
- clareza
- cliente
- clientes
- código
- códigos
- Comunicação
- comunidade
- integrações
- Configuração
- Contato
- da conexão
- Coneções
- Considerar
- Considerações
- continuou
- continuamente
- ao controle
- corretamente
- poderia
- Credenciais
- Atual
- Atualmente
- personalizadas
- dados,
- decidido
- definir
- entregando
- Entrega
- projetado
- desenvolvido
- desenvolvedores
- Desenvolvimento
- dispositivo
- Dispositivos/Instrumentos
- DID
- diretamente
- desconexão
- distribuir
- feito
- dr
- dois
- cada
- Mais cedo
- fácil
- efetivamente
- eficiência
- eficiente
- ou
- terminou
- aprimorada
- aprimorando
- garantir
- Meio Ambiente
- equipado
- erro
- avaliadas
- Mesmo
- uniformemente
- Cada
- evolução
- evoluiu
- exemplo
- exemplos
- termo
- Explicação
- explicando
- exploradas
- explorar
- falha
- Falha
- Característica
- Funcionalidades
- Primeiro nome
- Flexibilidade
- Pegada
- Escolha
- da
- frente
- cheio
- função
- mais distante
- OFERTE
- Dando
- Go
- maior
- tinha
- manipular
- Manipulação
- Ter
- cabeçalhos
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- história
- Como funciona o dobrador de carta de canal
- HTTPS
- IBM
- if
- imediatamente
- Impacto
- executar
- implementado
- importante
- melhorar
- melhoria
- melhorias
- in
- incluir
- incluído
- indústria
- INFORMAÇÕES
- Infraestrutura
- do estado inicial,
- insights
- instalando
- instância
- instâncias
- Interoperabilidade
- para dentro
- introduzido
- Introduz
- envolver
- envolve
- iot
- dispositivos muito
- questões
- IT
- ESTÁ
- jpg
- apenas por
- manteve
- Chave
- Maior
- Atrasado
- mais recente
- principal
- levou
- Nível
- Alavancagem
- bibliotecas
- leve
- como
- Limitado
- localização
- entrar
- moldadas
- a Principal
- a manter
- principal
- Fazendo
- gestão
- muitos
- max-width
- significa
- mensagem
- mensagens
- mensagens
- metadados
- poder
- migrou
- migrando
- migração
- menor
- EQUIPAMENTOS
- Monitore
- monitoração
- mais
- mais eficiente
- mover
- muito
- múltiplo
- nome
- necessário
- você merece...
- necessário
- Cria
- rede
- redes
- Novo
- Novos Recursos
- Próximo
- agora
- Oásis
- ocorreu
- of
- oferecendo treinamento para distância
- AZEITE E AZEITE EVO
- on
- ONE
- só
- Opções
- or
- original
- Outros
- Fora
- Acima de
- pacotes
- particular
- particularmente
- realizar
- significativo
- perspectiva
- Lugar
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- Popular
- poderoso
- preciso
- anterior
- provavelmente
- Produção
- Propriedades
- propriedade
- protocolo
- protocolos
- fornecer
- fornece
- publicar
- publicado
- qualidade
- alcance
- razão
- receber
- recebido
- reduzir
- redução
- liberado
- remoto
- resposta
- requeridos
- Requisitos
- Recursos
- resposta
- retida
- retorno
- rolando
- corrida
- mesmo
- satélite
- cenários
- Sdk
- SDK
- segurança
- enviar
- transmissor
- servidor
- Servidores
- serviço
- Sessão
- vários
- Partilhar
- compartilhado
- Baixo
- rede de apoio social
- de forma considerável
- simplicidade
- Tamanho
- tamanhos
- pequeno
- So
- Software
- desenvolvimento de software
- alguns
- específico
- especificada
- padrão
- fica
- Passo
- Passos
- franco
- mais forte
- tudo incluso
- assinaturas
- subseqüente
- tal
- adequado
- ajuda
- Apoiar
- suportes
- suspeito
- .
- Tire
- Dados Técnicos:
- teste
- que
- A
- deles
- Eles
- assim sendo
- Este
- deles
- coisas
- isto
- tempo
- timestamp
- para
- tópico
- transporte
- compreensão
- Atualizar
- Atualizada
- atualização
- atualização
- sobre
- us
- Uso
- usar
- usava
- Utilizador
- usuários
- utilização
- utilizar
- versão
- queremos
- querido
- foi
- BEM
- quando
- se
- qual
- porque
- generalizada
- precisarão
- de
- Você
- investimentos
- zefirnet