O ApsaraMQ for MQTT (anteriormente MQ for MQTT) é um middleware orientado a mensagens leve, voltado para aplicativos de Internet móvel e Internet das Coisas (IoT). Enquanto middlewares tradicionais transmitem mensagens entre microsserviços, o ApsaraMQ for MQTT transmite mensagens entre dispositivos e a cloud, viabilizando a comunicação bidirecional em larga escala.
O ApsaraMQ for MQTT era conhecido anteriormente como MQ for MQTT. O product foi renomeado, mas o service continua sendo mantido ativamente e todos os recursos permanecem disponíveis. Se você busca a documentação do MQ for MQTT, está no lugar certo.
Caso o ApsaraMQ for MQTT não atenda aos requisitos do seu negócio, avalie outros products de mensagens da Alibaba Cloud, como o ApsaraMQ for RocketMQ ou o ApsaraMQ for RabbitMQ.
Exemplos:
Uma frota de sensores de temperatura envia leituras a cada 5 segundos para um painel de análise na cloud.
Um service de backend envia comandos de atualização de firmware para milhares de dispositivos inteligentes simultaneamente.
Dois aplicativos móveis trocam mensagens instantâneas por meio do protocolo MQTT sem roteamento por um servidor de backend.
Termos
|
Termo |
Definição |
|
Tópico |
O classificador principal de mensagens. Produtores enviam mensagens para tópicos, e consumidores se inscrevem neles para recebê-las. |
|
Produtor |
O publicador que cria e envia mensagens para um tópico. |
|
Consumidor |
O assinante que recebe e processa mensagens de um tópico. |
|
Mensagem |
A carga útil de dados enviada por um produtor a um tópico e entregue a um ou mais consumidores. |
|
Regra |
Um recurso que troca dados entre o ApsaraMQ for MQTT e outros services da Alibaba Cloud. |
Perguntas frequentes: ApsaraMQ for MQTT e EMQX
Qual é a diferença entre o ApsaraMQ for MQTT e o EMQX? O ApsaraMQ for MQTT oferece suporte ao EMQX Dashboard?
O ApsaraMQ for MQTT não é baseado no EMQX. O EMQX é um broker MQTT de código aberto que você deve implantar e manter em sua própria infraestrutura, como instâncias do Elastic Compute Service (ECS). O ApsaraMQ for MQTT, por outro lado, é um service de cloud totalmente gerenciado e fornecido pela Alibaba Cloud. Você o ativa pelo ApsaraMQ for MQTT console e se conecta à sua instância usando um endpoint dedicado. Não há infraestrutura para gerenciar.
O ApsaraMQ for MQTT não oferece suporte ao EMQX Dashboard nem a interfaces de gerenciamento de terceiros semelhantes. Para operações de monitoramento e gerenciamento, use o ApsaraMQ for MQTT console.
Modelos de mensagens
O ApsaraMQ for MQTT oferece suporte a dois modelos de mensagens.
Comunicação de dispositivo para a cloud
Os dispositivos se conectam ao ApsaraMQ for MQTT e trocam dados com aplicativos na cloud ou com outros services da Alibaba Cloud. Este modelo abrange cenários como:
Um termostato inteligente envia dados de temperatura, umidade e nível de bateria para um painel de monitoramento na cloud a cada 10 segundos.
Um service de backend envia atualizações de configuração ou comandos de reinicialização para dispositivos em campo.
Comunicação entre dispositivos
Os dispositivos se comunicam diretamente entre si por meio do ApsaraMQ for MQTT. Tanto produtores quanto consumidores se conectam pelo protocolo MQTT. Este modelo abrange cenários como:
Usuários conversam por um aplicativo de mensagens instantâneas com entrega de mensagens em menos de um segundo.
Um aplicativo móvel controla um dispositivo de casa inteligente — ajustando luzes ou trancando portas — sem roteamento por um servidor de backend.
Funções de desenvolvedor
Esses modelos correspondem a duas funções de desenvolvedor:
|
Função |
Escopo |
Referência do SDK |
|
Desenvolvedor de dispositivos |
Crie aplicativos do lado do cliente executados em dispositivos IoT ou endpoints móveis. |
{{XREF_3}} |
|
Desenvolvedor de cloud |
Crie aplicativos do lado do servidor que processam dados de dispositivos ou enviam comandos. |
{{XREF_4}} |
Benefícios
Amplo suporte a protocolos e plataformas
O ApsaraMQ for MQTT é compatível com SDKs que oferecem suporte ao MQTT V3.1.1 e aceita conexões WebSocket. Isso abrange a maioria das plataformas de desenvolvimento móvel e linguagens de programação, permitindo uma migração tranquila de implementações MQTT existentes.
Ao criar uma instância, um endpoint público e um endpoint de rede interna são gerados automaticamente. O endpoint público aceita conexões pela internet pública — incluindo Wi-Fi corporativo e redes de escritório —, o que facilita a conexão de dispositivos móveis e IoT fora de uma VPC da Alibaba Cloud.
Sob o protocolo MQTT 5.0, o ApsaraMQ for MQTT oferece suporte a {{XREF_5}} e {{XREF_6}}. Para ativar esses recursos em uma instância Professional Edition existente, envie um ticket para solicitar a ativação na instância de destino.
As atualizações do ApsaraMQ for MQTT no lado do service são melhorias de arquitetura e não alteram a versão do protocolo MQTT. O service continua oferecendo suporte ao MQTT 3.1.1, e seus aplicativos cliente não precisam atualizar a configuração da versão do protocolo após uma atualização no lado do service.
Embora o ApsaraMQ for MQTT seja compatível com o protocolo MQTT padrão, algumas bibliotecas cliente de código aberto de terceiros podem causar quedas de conexão devido a diferenças na configuração de parâmetros. Problemas de compatibilidade conhecidos incluem o paho-mqtt v2 e o Node.js mqtt.js ao se conectar a instâncias Serverless.
Use os SDKs oficialmente recomendados. Se você utilizar uma biblioteca de terceiros, ajuste os parâmetros principais de conexão, como Keep Alive e Clean Session, de acordo com as diretrizes de parâmetros de conexão no guia do desenvolvedor de terminais, para garantir a estabilidade da conexão.
Mensagens em nível de milissegundos em escala massiva
|
Métrica |
Capacidade |
|
Latência |
Mensagens entregues em milissegundos |
|
Dispositivos conectados |
Dezenas de milhões de conexões simultâneas de dispositivos |
|
Mensagens simultâneas |
Milhões de mensagens simultâneas |
|
Throughput |
Trilhões de transações de mensagens |
|
Arquitetura |
Design distribuído sem gargalos de ponto único; dimensionamento horizontal ilimitado para cada componente |
Segurança no nível do dispositivo
|
Capacidade |
Descrição |
|
Gerenciamento de permissões no nível do dispositivo |
Gerencie permissões no nível de cada dispositivo individual |
|
Tokens temporários |
Emita credenciais de curta duração para a autenticação de dispositivos |
|
Transporte criptografado |
Proteja todos os dados em trânsito com o Transport Layer Security (TLS) V1.2 |
Integração com o ApsaraMQ for RocketMQ
Troque mensagens entre o ApsaraMQ for MQTT e o ApsaraMQ for RocketMQ para uma comunicação bidirecional confiável e de alto throughput entre dispositivos e aplicativos na cloud. Essa integração conecta as mensagens leves de dispositivos ao enfileiramento de mensagens de nível corporativo.
Cenários
O ApsaraMQ for MQTT atende a uma ampla variedade de casos de uso de Internet móvel e IoT:
|
Cenário |
Exemplo |
|
Transmissão ao vivo móvel |
Entregue mensagens interativas em tempo real — comentários, curtidas e presentes — junto com transmissões de vídeo para milhões de espectadores simultâneos. |
|
Internet dos Veículos (IoV) |
Colete telemetria de veículos conectados (velocidade, nível de combustível, localização) e envie atualizações over-the-air ou comandos de navegação. |
|
Pagamento |
Transmita notificações de transações e atualizações de status entre terminais de pagamento e backends de processamento em tempo real. |
|
Catering inteligente |
Conecte sistemas de exibição de cozinha, tablets de pedidos e plataformas de gerenciamento para sincronização de pedidos em tempo real entre diferentes locais. |
|
Mensagens instantâneas |
Entregue mensagens de chat entre clientes móveis ou web com latência inferior a um segundo. |
Perguntas frequentes: Implantação
O ApsaraMQ for MQTT oferece suporte à implantação privada?
Não. O ApsaraMQ for MQTT é um service de cloud pública totalmente gerenciado e não oferece suporte à implantação privada (on-premises).
Se você precisar integrar o ApsaraMQ for MQTT a outros products, como o InfluxDB, implemente a integração no ambiente de cloud pública por meio de conectividade de rede interna VPC ou regras de roteamento de dados entre products.
Comece a usar
Adquira uma instância do ApsaraMQ for MQTT na página de compra do ApsaraMQ for MQTT.
Perguntas frequentes: Solução de problemas
O status da minha instância está normal, mas o nome de domínio não pode ser resolvido. O que devo fazer?
A resolução de nomes de domínio dos endpoints do ApsaraMQ for MQTT depende da ativação do service subjacente do ApsaraMQ for RocketMQ. Mesmo que o status da sua instância MQTT mostre Running ou Active — por exemplo, após a recuperação de um pagamento em atraso —, o nome de domínio do endpoint não poderá ser resolvido se o service subjacente do ApsaraMQ for RocketMQ não tiver sido ativado separadamente.
Para resolver esse problema:
Faça login no ApsaraMQ for MQTT console.
Verifique se o ApsaraMQ for RocketMQ está ativado e conclua a ativação manualmente, se necessário.
Aguarde a recuperação da resolução do nome de domínio antes de tentar se conectar.