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
onlinechega na hora. - Last Will: adicione
--will-topic "connectmq/demo/$ID/status" --will-payload offlinea um cliente e mate-o; o subscriber recebeoffline. - 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.



