MQTT gerenciado na nuvem

Como Escolher um Broker MQTT para IoT: 12 Critérios e as Perguntas para Fazer ao Fornecedor

Um checklist prático de 12 pontos para escolher um broker MQTT para IoT, uma tabela de perguntas para fazer a cada fornecedor e um teste prático de cinco minutos que você pode rodar no broker.connectmq.com.

Checklist ao lado de uma rede de dispositivos IoT conectados a um broker MQTT para IoT central na nuvem
Rode isso no seu próprio broker MQTTTenha um broker MQTT privado e gerenciado no plano Free e comece com exemplos de código prontos.
Teste grátis Exemplos de código Sem cartão de crédito

Escolher um broker MQTT para IoT é uma das poucas decisões de infraestrutura que afeta todos os dispositivos que você vai entregar, então vale a pena acertar antes do primeiro release de firmware. Este guia traz um checklist de 12 pontos, uma tabela de perguntas para fazer a qualquer fornecedor e um teste prático rápido que você roda em cinco minutos. Ao longo do caminho, mostramos como o ConnectMQ atende a cada ponto — usando apenas recursos que ele realmente tem.

Se você ainda está decidindo entre rodar seu próprio broker e usar um serviço, leia primeiro O Que É um Broker MQTT Gerenciado?.

Por Que a Escolha do Broker MQTT para IoT Importa

O broker fica no meio de todas as mensagens: os dispositivos publicam nele e as aplicações assinam por meio dele. Depois que milhares de dispositivos têm hostname, porta, cadeia de certificados e estrutura de topics gravados no firmware, trocar de broker vira uma migração cara. O broker também define sua fronteira de segurança, seu teto de escalabilidade e boa parte do seu custo operacional mensal.

Por isso, um bom processo de seleção vai além de "ele fala MQTT?" e verifica a profundidade do protocolo, segurança, isolamento, operação e o caminho do protótipo à produção.

O Checklist de 12 Pontos para Brokers MQTT de IoT

1. Suporte a Protocolos: MQTT 3.1.1 e MQTT 5.0

A maioria dos dispositivos e bibliotecas existentes fala MQTT 3.1.1, enquanto projetos novos se beneficiam dos recursos do MQTT 5.0: reason codes, expiração de sessão e de mensagem, topic aliases, shared subscriptions e request/response. Um broker deve suportar as duas versões lado a lado, para que dispositivos antigos e novos convivam. Verifique quais recursos do MQTT 5 estão realmente implementados, e não apenas se o pacote CONNECT é aceito. A lista completa de recursos está na especificação OASIS MQTT 5.0, e nosso guia de recursos do MQTT 5 os explica na prática.

ConnectMQ: suporta MQTT 3.1.1 e MQTT 5.0, incluindo shared subscriptions, retained messages, session expiry, topic alias, message expiry interval, response topic e reason codes. O CONNACK anuncia os limites do broker (Maximum QoS, Retain Available, Wildcard e Shared Subscription Available, Receive Maximum).

2. Transporte: TCP, TLS e WebSocket

Dispositivos em redes restritas podem usar TCP puro durante o desenvolvimento, mas o tráfego de produção deve ser criptografado. Navegadores e dashboards precisam de MQTT sobre WebSocket, de preferência WebSocket seguro (WSS), para funcionar a partir de páginas HTTPS.

ConnectMQ: TCP na 1883, TLS na 8883, WebSocket na 8083 e WSS na 8084 (caminho /mqtt), com um certificado Let's Encrypt em que os repositórios de CA padrão já confiam.

3. Autenticação

Pergunte como os dispositivos comprovam sua identidade e como as credenciais são emitidas e rotacionadas. No mínimo, você quer credenciais por broker e proteção contra clientes que se passam por outros usando o client ID.

ConnectMQ: usuário e senha são emitidos por broker no portal, e os client IDs ficam restritos ao client ID emitido e às suas variantes com _sufixo (por exemplo YOUR_CLIENT_ID_sensor1). Veja boas práticas de segurança MQTT para o panorama completo.

4. Multi-Tenancy e Isolamento

Em um serviço compartilhado, seus topics precisam ser invisíveis para todos os outros clientes. Se você constrói um produto para seus próprios clientes, precisa da mesma garantia um nível abaixo.

ConnectMQ: os topics de cada tenant ficam isolados de outros tenants e da área pública de testes. Se você também precisa de isolamento na infraestrutura, o plano Dedicated oferece um cluster de broker só seu.

5. Escalabilidade e Limites de Conexão

Veja os limites de conexões simultâneas por plano, os limites de tamanho de mensagem e como você cresce de um nível para o outro sem alterar o código dos dispositivos.

ConnectMQ: o Serverless (Free) permite até 25 conexões simultâneas e mensagens de 256 KB; o Serverless (Paid), até 1.000 conexões e mensagens de 1 MB; Dedicated, BYOC e Self Managed Enterprise cobrem implantações maiores e isoladas.

6. QoS e Sessões

QoS 1 e 2 oferecem garantias de entrega; sessões persistentes permitem que dispositivos que reconectam recebam as mensagens enfileiradas. Confirme quais níveis de QoS cada plano suporta e por quanto tempo as sessões são mantidas. Contexto: Níveis de QoS MQTT Explicados.

ConnectMQ: QoS até 1 no Serverless (Free), QoS 2 no Serverless (Paid); o session expiry tem um teto por plano.

7. Retained Messages e Mensagens Offline

Retained messages entregam a cada novo subscriber o último valor conhecido imediatamente — essencial para status e configuração de dispositivos. Mensagens de Last Will avisam o resto do sistema quando um dispositivo cai.

ConnectMQ: retained messages são suportadas em todos os planos, mensagens de Last Will são entregues como a especificação exige e $SYS/broker/connection/{clientId}/state expõe o estado de conexão de um cliente.

8. Padrões Industriais: Sparkplug B e ISA-95

Cada vez mais fábricas, de frigoríficos no Centro-Oeste a montadoras e mineradoras, organizam seus dados em um Unified Namespace seguindo os níveis da ISA-95 (empresa, site, área, linha, célula) e usam Sparkplug B para payloads tipados e com estado. Um broker que entende essas convenções economiza trabalho de integração.

ConnectMQ: detecta estruturas de topics ISA-95 / Unified Namespace, detecta e decodifica Sparkplug B (Protobuf e JSON) e pode republicar Sparkplug B em uma estrutura ISA-95 — por exemplo, spBv1.0/factory1/DDATA/line1/cnc1 vira connectmq/factory1/production/line1/cnc1/telemetry. Mais detalhes em Sparkplug B e Unified Namespace.

9. Observabilidade

Quando um dispositivo se comporta mal às 3 da manhã, você precisa ver o que ele publicou e por que foi rejeitado. Procure uma visão de topics ao vivo, estado das conexões e códigos de erro significativos.

ConnectMQ: o portal inclui um dashboard, um cliente MQTT no navegador, um explorador de topics ao vivo, uma visão de dispositivos organizada por níveis ISA-95, regras de alerta por limite e um histórico de alertas. Reason codes do MQTT 5 como 0x97 (Quota exceeded) e 0x89 (Server busy) explicam as rejeições, e a extensão do ConnectMQ para VS Code mostra os reason codes de CONNACK, SUBACK e PUBACK durante o desenvolvimento.

10. Modelos de Implantação

Algumas equipes querem zero operação; outras precisam manter os dados na própria conta de nuvem ou on-premises.

ConnectMQ: Serverless (cluster compartilhado), Dedicated (cluster isolado), BYOC (brokers na sua própria conta de nuvem, gerenciados pelo ConnectMQ) e Self Managed Enterprise (broker licenciado na sua própria infraestrutura).

11. Cotas e Proteção

Um único dispositivo com bug preso em um loop de reconexão pode prejudicar todos no broker. Pergunte como o broker se defende e protege o seu tenant.

ConnectMQ: cotas por plano, proteção contra flood de conexões com banimentos temporários, bloqueio de IP após tentativas repetidas com credenciais inválidas e proteção adaptativa contra sobrecarga.

12. Custo e Operação

Compare o custo total: computação, armazenamento, patches, renovação de certificados, monitoramento, tempo de plantão e atualizações. Um plano gratuito que permite prototipar sem cartão de crédito reduz o risco da avaliação.

ConnectMQ: um broker MQTT gerenciado com um plano Serverless gratuito (sem cartão de crédito) e planos pagos quando você precisa de limites de produção. Confira os detalhes atuais dos planos em connectmq.com.

O Que Perguntar ao Fornecedor do Seu Broker MQTT para IoT

Use esta tabela como ficha de avaliação. Copie-a para o seu próprio documento e preencha uma coluna por candidato.

Critério Pergunta a fazer Resposta do ConnectMQ
Protocolo Quais versões do MQTT e quais recursos do MQTT 5 estão implementados? MQTT 3.1.1 e 5.0; shared subscriptions, topic alias, expiração, response topic, reason codes
Transporte Quais portas para TCP, TLS, WS e WSS? Qual certificado? 1883, 8883, 8083, 8084; Let's Encrypt
Autenticação Como as credenciais são emitidas? Um dispositivo pode falsificar o client ID de outro? Usuário/senha por broker; client ID restrito ao ID emitido e às variantes _suffix
Isolamento Outros clientes podem ver meus topics? Não, os topics do tenant são isolados
Escala Quais os limites de conexões e de tamanho de mensagem por plano? 25 / 256 KB (Free), 1.000 / 1 MB (Paid), Dedicated para mais
QoS Quais níveis de QoS por plano? Session expiry? QoS 1 (Free), QoS 2 (Paid); session expiry com teto por plano
Estado Retained messages, Last Will, estado de conexão? Sim; $SYS/broker/connection/{clientId}/state
Industrial Suporte a Sparkplug B e ISA-95? Detecta e decodifica Sparkplug B, republica em topics ISA-95
Observabilidade Consigo ver topics, dispositivos e alertas ao vivo? Dashboard no portal, explorador de topics, visão de dispositivos, regras de alerta
Implantação Compartilhado, dedicado, na minha nuvem, on-premises? Serverless, Dedicated, BYOC, Self Managed Enterprise
Proteção Como floods e ataques de força bruta são tratados? Cotas, banimentos por flood, bloqueio de IP, proteção contra sobrecarga
Teste Posso testar sem cartão de crédito? Sim, Serverless (Free) e o servidor MQTT público (gratuito)

Pergunte também a cada fornecedor o que não está incluído. Por exemplo, o ConnectMQ se concentra no broker em si: ele não oferece um rule engine no servidor, webhooks nem data bridges nativas para Kafka ou bancos de dados, então planeje consumir os dados com seu próprio serviço subscriber se precisar disso.

Teste Rápido no broker.connectmq.com

Datasheets só vão até certo ponto. Antes de colocar qualquer broker MQTT para IoT na lista final, conecte um cliente real. O servidor MQTT público do ConnectMQ não exige conta — só um client ID não vazio e um prefixo de topic único (tudo na área pública pode ser lido por outros, então ele serve para testes e protótipos, nunca para dados de produção). Os detalhes estão no nosso guia do servidor MQTT público (gratuito).

export ID=eval-$(openssl rand -hex 3)

# Terminal 1: assina com MQTT 5
mosquitto_sub -h broker.connectmq.com -p 1883 -i $ID-sub -t "connectmq/demo/$ID/#" -v -V mqttv5

# Terminal 2: publica um status retido e uma leitura de telemetria via TLS
mosquitto_pub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs -i $ID-pub -V mqttv5 -t "connectmq/demo/$ID/status" -m "online" -r -q 1
mosquitto_pub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs -i $ID-pub -V mqttv5 -t "connectmq/demo/$ID/telemetry" -m '{"temp": 23.1}'

# Limpa a retained message
mosquitto_pub -h broker.connectmq.com -p 1883 -i $ID-pub -t "connectmq/demo/$ID/status" -n -r

No Windows ou no macOS, substitua --capath /etc/ssl/certs por --cafile apontando para um bundle de CAs em PEM. Durante o teste, verifique os critérios que você consegue observar diretamente:

  • Latência: as mensagens devem aparecer no Terminal 1 quase instantaneamente.
  • Retained messages: pare e reinicie o subscriber — o status online chega na hora.
  • Last Will: adicione --will-topic "connectmq/demo/$ID/status" --will-payload offline a um cliente e mate-o; o subscriber recebe offline.
  • Limites: a área pública permite 64 KB por mensagem e 10 mensagens por segundo por cliente; ultrapassá-los retorna reason codes do MQTT 5 em vez de descartes silenciosos.

Para uma avaliação de produção, repita o teste com um broker privado e as credenciais do portal:

mosquitto_sub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs -V mqttv5 -u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID -t "#" -v

Comece com o ConnectMQ

A melhor forma de avaliar um broker MQTT para IoT é conectar seus próprios dispositivos a ele. Cadastre-se em app.connectmq.com — o plano Serverless (Free) não exige cartão de crédito. Crie um broker, copie o usuário, a senha e o client ID gerados e veja suas primeiras mensagens chegarem no explorador de topics ao vivo.

Perguntas frequentes

Qual é o critério mais importante na escolha de um broker MQTT para IoT?

Segurança e isolamento vêm primeiro: transporte criptografado, autenticação por dispositivo e separação garantida de outros tenants. Depois disso, verifique o suporte a MQTT 5 e se os limites combinam com o tamanho da sua frota.

Preciso de MQTT 5.0 em um projeto de IoT?

Não obrigatoriamente, já que o MQTT 3.1.1 ainda funciona bem, mas o MQTT 5 adiciona reason codes, intervalos de expiração, shared subscriptions e request/response, que facilitam a operação de sistemas maiores. Escolha um broker que suporte as duas versões.

O ConnectMQ suporta Sparkplug B?

Sim. O ConnectMQ detecta e decodifica payloads Sparkplug B (Protobuf e JSON) e pode republicá-los em uma estrutura de topics ISA-95 de Unified Namespace.

Posso testar o ConnectMQ sem criar uma conta?

Sim. Conecte ao servidor MQTT público em broker.connectmq.com sem credenciais, usando um client ID não vazio e um prefixo de topic único. Lembre-se de que a área pública pode ser lida por todos.

Posso rodar o ConnectMQ na minha própria nuvem ou data center?

Sim. Além dos planos Serverless e Dedicated, o ConnectMQ oferece BYOC (brokers na sua própria conta de nuvem, gerenciados pelo ConnectMQ) e Self Managed Enterprise para a sua própria infraestrutura.

Artigos relacionados

Broker MQTT BYOC: Bring Your Own Cloud Explicado

Um broker MQTT BYOC roda na sua conta de nuvem, mas é operado por um provedor. Entenda como o modelo funciona, a divisão de responsabilidades e como preparar a sua conta para ele.

9 min de leitura

Alternativa ao Google Cloud IoT Core: Opções e Migração Após o Encerramento

O Google desativou o Cloud IoT Core em agosto de 2023. Este guia compara as alternativas realistas, mapeia os conceitos do IoT Core para MQTT puro e mostra como mover dispositivos para um broker MQTT gerenciado mantendo os dados fluindo para o Google Cloud.

9 min de leitura

Mensagens MQTT por Segundo: Como Estimar e Medir a Vazão

O planejamento de vazão em MQTT se resume a algumas fórmulas e a uma medição honesta. Aprenda a estimar mensagens de entrada e saída por segundo, considerar os picos e associar o resultado a um plano de broker.

8 min de leitura

Todos os artigos →

Seu broker MQTT privado está a poucos cliques de distância

Crie uma conta, receba as credenciais do seu broker e conecte seu primeiro dispositivo — sem servidores para instalar, atualizar ou escalar.