Um broker MQTT como serviço entrega um endpoint de broker funcionando e protegido sem que você precise instalar, aplicar patches ou monitorar um servidor. Este artigo explica exatamente quais responsabilidades passam para o provedor, quais continuam com você e como construir as peças que um broker não inclui, para que você defina as expectativas certas antes de contratar.
O Que Significa "Broker MQTT como Serviço"
Como serviço significa que você consome o broker como um endpoint, e não como um software que você executa. Na prática, é um broker MQTT gerenciado vendido por assinatura. Você recebe um hostname, portas, credenciais e um portal de gerenciamento. O provedor opera as máquinas, o software do broker, os certificados TLS e os processos operacionais por trás deles. Você conecta dispositivos e aplicações usando MQTT padrão, exatamente como faria com um broker hospedado por você.
Esse último ponto importa. Como o MQTT é um padrão aberto, as mesmas bibliotecas de cliente, firmwares e ferramentas funcionam quer o broker rode em um Raspberry Pi no seu escritório, quer na nuvem de um provedor. Se você é novo no protocolo, comece por o que um broker MQTT faz.
A Divisão de Responsabilidades
A tabela abaixo mostra uma divisão típica. A coluna da direita usa a ConnectMQ como referência concreta.
| Área | Provedor | Você | Como a ConnectMQ cuida da parte do provedor |
|---|---|---|---|
| Servidores e sistema operacional | Sim | Opera a infraestrutura no Serverless e no Dedicated; gerencia na sua conta no BYOC | |
| Software do broker e patches | Sim | Broker MQTT gerenciado com MQTT 3.1.1 e 5.0 | |
| Certificados TLS | Sim | Certificado Let's Encrypt em TLS 8883 e Secure WebSocket 8084 | |
| Endpoints e portas | Sim | TCP 1883, TLS 8883, WebSocket 8083, Secure WebSocket 8084 (path /mqtt) | |
| Emissão de credenciais | Sim | Guardá-las com segurança | Username, senha e client ID gerados por broker |
| Proteção contra abuso | Sim | Cotas por plano, proteção contra flood, bloqueio de IP após repetidas falhas de login | |
| Isolamento entre tenants | Sim | Isolamento multi-tenant nos planos compartilhados, clusters isolados no Dedicated | |
| Ferramentas de visibilidade | Sim | Usá-las | Cliente no navegador, explorador de topics em tempo real, dashboard, visão de dispositivos, alertas por limite |
| Firmware e bibliotecas dos dispositivos | Sim | ||
| Design e nomenclatura de topics | Sim | O portal detecta topics ISA-95 e Unified Namespace, se você os usar | |
| Formato e validação de payloads | Sim | Decodifica Sparkplug B para visualização e o republica em topics ISA-95 | |
| Armazenamento de dados e histórico | Sim | Não incluído; você executa seu próprio assinante e banco de dados | |
| Integrações com outros sistemas | Sim | Não incluído; conecte ferramentas como Node-RED ou Telegraf como clientes MQTT | |
| Confiabilidade do lado do cliente | Sim | Reconexões, buffer, escolha de QoS |
O Que Você Recebe
Nenhum servidor para operar
Você nunca instala o Mosquitto, configura unidades systemd, aumenta limites de file descriptors ou agenda patches de sistema operacional. Nos planos Serverless você também nunca pensa em dimensionamento de máquinas; basta escolher um plano com os limites de que precisa.
Padrões de segurança difíceis de errar
O TLS está pronto desde o primeiro dia com um certificado publicamente confiável, as credenciais são geradas em vez de escolhidas manualmente e os client IDs ficam vinculados às credenciais emitidas para eles. Tentativas de login por força bruta levam ao bloqueio do IP. Brokers auto-hospedados muitas vezes entram em operação sem algumas dessas proteções e as adicionam depois. Nosso artigo sobre boas práticas de segurança MQTT cobre o lado do cliente da mesma história.
Limites previsíveis
Os planos vêm com limites publicados. Na ConnectMQ, o plano Serverless (Free) permite até 25 conexões, QoS até 1 e mensagens de 256 KB; o plano Serverless pago permite até 1.000 conexões, QoS 2, mensagens de 1 MB e shared subscriptions. Dedicated, BYOC e Self Managed Enterprise cobrem implantações isoladas e controladas pelo cliente.
Ferramentas para ver o que está acontecendo
Um broker sem visibilidade é difícil de depurar. Um bom serviço oferece uma forma de publicar mensagens de teste, acompanhar topics em tempo real, ver quais dispositivos estão conectados e ser notificado quando valores ultrapassam um limite, tudo pelo navegador.
O Que Você Não Recebe
Ter clareza sobre isso evita decepções depois.
Um broker não é um banco de dados. Ele roteia mensagens; não guarda histórico. Mensagens retidas armazenam apenas o último valor por topic. Se você precisa de gráficos ao longo do tempo, precisa de um banco de dados de séries temporais ou de um historiador.
Um broker não é uma plataforma de integração. Algumas plataformas IoT incluem motores de regras, webhooks e conectores para bancos de dados ou outras nuvens. Um broker como serviço puro, incluindo a ConnectMQ, não inclui. Você constrói integrações executando um cliente que assina e encaminha.
Um broker não torna os clientes confiáveis. Lógica de reconexão, buffer local, comandos idempotentes e escolhas sensatas de QoS ficam no seu código. Veja alta disponibilidade de broker MQTT para padrões de cliente.
Um broker não projeta seus topics. Um namespace claro é tarefa sua, e ele determina o quão fácil todo o resto será.
O Padrão de Integração: Assinar e Encaminhar
A forma honesta e portável de conectar um broker como serviço ao restante da sua stack é um pequeno processo assinante. Ele funciona com qualquer broker e deixa você livre para trocar de banco de dados ou de provedor depois. Veja um exemplo completo em Python que armazena cada mensagem de telemetria no SQLite, como as leituras das câmaras frias de um frigorífico. Troque o SQLite por PostgreSQL, InfluxDB ou um arquivo, conforme necessário.
# store_telemetry.py - assina a telemetria e a armazena no SQLite
import json
import sqlite3
import time
import paho.mqtt.client as mqtt
DB = sqlite3.connect("telemetry.db", check_same_thread=False)
DB.execute("""CREATE TABLE IF NOT EXISTS telemetry (
ts REAL, topic TEXT, payload TEXT)""")
DB.commit()
def on_connect(client, userdata, flags, reason_code, properties):
print("connected:", reason_code)
client.subscribe("acme/+/+/+/+/telemetry", qos=1)
def on_message(client, userdata, msg):
try:
payload = json.dumps(json.loads(msg.payload)) # validar o JSON
except ValueError:
print("skipping non-JSON message on", msg.topic)
return
DB.execute("INSERT INTO telemetry VALUES (?, ?, ?)",
(time.time(), msg.topic, payload))
DB.commit()
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
client_id="YOUR_CLIENT_ID", protocol=mqtt.MQTTv5)
client.username_pw_set("YOUR_USERNAME", "YOUR_PASSWORD")
client.tls_set()
client.on_connect = on_connect
client.on_message = on_message
client.connect("broker.connectmq.com", 8883, keepalive=60)
client.loop_forever()
O mesmo padrão vale para ferramentas low-code. O Node-RED se conecta com um nó de configuração mqtt-broker, o Telegraf usa seu input MQTT consumer e o Home Assistant usa sua integração MQTT. Cada um é simplesmente mais um cliente MQTT do broker.
Escolhendo o Nível de Serviço Certo
| Se você precisa de | Considere |
|---|---|
| Aprendizado, demos e testes rápidos | O servidor MQTT público gratuito em broker.connectmq.com (sem dados de produção) |
| Um broker privado para um protótipo ou piloto pequeno | Serverless (Free) |
| Uma frota em crescimento, QoS 2, mensagens maiores, shared subscriptions | Serverless (Paid) |
| Isolamento em relação a outros tenants | Dedicated |
| O broker dentro da sua própria conta de nuvem | BYOC |
| Operar o broker você mesmo com software do fornecedor | Self Managed Enterprise |
Se você está comparando o serviço com a opção de rodar o seu próprio, leia broker MQTT auto-hospedado vs gerenciado e opções de hospedagem de broker MQTT comparadas. O guia de broker MQTT na nuvem é a visão geral de todo esse tema.
Perguntas a Fazer Antes de Escolher um Provedor
- Quais versões e transportes MQTT são suportados?
- Quais são os limites exatos de conexões, tamanho de mensagem e QoS em cada plano?
- Como as credenciais são emitidas, rotacionadas e revogadas?
- Como o serviço sinaliza aos clientes as violações de cota?
- Quais ferramentas de visibilidade estão incluídas?
- O que não está incluído, como armazenamento, motores de regras ou conectores?
- Quais opções de isolamento existem além dos planos compartilhados?
- Quais são os termos de SLA, por escrito?
- Quão fácil é sair, considerando que os dispositivos conhecem apenas um hostname e credenciais?
Experimente MQTT como Serviço com a ConnectMQ
A ConnectMQ opera o broker, o TLS e as cotas para que você se concentre em dispositivos e dados. Cadastre-se em app.connectmq.com, crie um broker no plano Serverless gratuito, sem cartão de crédito, e conecte seu primeiro cliente em minutos.
Perguntas frequentes
O que um broker MQTT como serviço inclui?
Normalmente, o software do broker, os servidores, os patches, os certificados TLS, os endpoints, as credenciais, as cotas e um portal de gerenciamento. Você continua responsável por dispositivos, topics, payloads e armazenamento de dados.
Um broker MQTT gerenciado armazena meus dados?
Um broker roteia mensagens e guarda apenas os últimos valores retidos por topic. Para ter histórico, execute um assinante que grave as mensagens em um banco de dados que você controla.
Posso conectar Node-RED ou Telegraf a um broker como serviço?
Sim. Eles se conectam como clientes MQTT comuns usando o hostname, a porta e as credenciais do portal e, em seguida, encaminham os dados para onde você precisar.
É difícil deixar um broker MQTT como serviço?
Como o MQTT é um padrão, os dispositivos só precisam de um novo hostname e de novas credenciais. Evitar recursos proprietários mantém baixo o custo de troca.



