Um broker MQTT gerenciado é um servidor MQTT que outra empresa opera para você: você recebe um hostname, portas e credenciais, e o provedor cuida dos servidores, certificados, atualizações e capacidade. Neste guia você vai entender o que um broker MQTT gerenciado realmente faz por você, como ele se compara a rodar seu próprio broker, qual modelo de implantação combina com o seu projeto e como conectar seu primeiro cliente em cerca de cinco minutos.
Se você ainda está começando com MQTT, leia primeiro O Que É um Broker MQTT? e volte aqui quando estiver pronto para pensar em hospedagem.
O Que É um Broker MQTT Gerenciado?
MQTT é um protocolo leve de publish/subscribe. Dispositivos e aplicações nunca se comunicam diretamente; eles se conectam a um broker, publicam mensagens em topics e assinam os topics que lhes interessam. O broker é a única peça de infraestrutura pela qual todas as mensagens passam, o que o torna ao mesmo tempo simples e crítico.
Um broker self-hosted significa que você instala o software do broker em uma máquina virtual ou em um cluster Kubernetes e é responsável por tudo ao redor. Um broker MQTT gerenciado (às vezes chamado de "MQTT broker as a service" ou broker MQTT na nuvem) transfere essa responsabilidade para um provedor. Na prática, você recebe:
- Um endpoint público como
mqtts://your-broker:8883, além de endpoints WebSocket para navegadores. - Credenciais (usuário, senha, client ID) geradas para cada broker.
- TLS com um certificado válido e renovado automaticamente.
- Um console web para criar brokers, inspecionar topics, acompanhar conexões e configurar alertas.
- Limites por plano para conexões, tamanho de mensagem e QoS, que você aumenta trocando de plano em vez de reconstruir a infraestrutura.
Seus dispositivos continuam falando MQTT padrão. Isso importa: você não fica preso a um SDK proprietário, e qualquer biblioteca cliente MQTT 3.1.1 ou MQTT 5.0 funciona.
Broker MQTT Gerenciado vs Self-Hosted
Rodar um broker open source em uma única VM é fácil no primeiro dia. O trabalho aparece depois: renovação de certificados, patches do sistema operacional, a primeira vez que uma frota inteira de dispositivos reconecta ao mesmo tempo e a dúvida às 3 da manhã sobre se o broker está no ar. Veja como as responsabilidades se dividem.
Operação e patches
Com um broker self-hosted, você acompanha os alertas de segurança do broker, da biblioteca TLS e do sistema operacional, agenda janelas de manutenção e testa atualizações. Com um broker MQTT gerenciado, o provedor aplica as atualizações na frota de brokers e você continua trabalhando com o mesmo hostname e as mesmas credenciais.
Escalabilidade
Um único nó self-hosted tem um teto definido por CPU, memória e limites de file descriptors. Aumentá-lo significa redimensionar, ajustar o kernel e, às vezes, redesenhar a arquitetura. Em um serviço gerenciado, você escala migrando para um plano com limites maiores ou para um cluster dedicado. O ConnectMQ também protege a infraestrutura compartilhada com cotas por plano, proteção contra flood de conexões e proteção adaptativa contra sobrecarga, para que um cliente com mau comportamento não derrube todos os outros.
Certificados TLS
MQTT criptografado na porta 8883 exige um certificado em que os clientes confiem. No self-hosting, você precisa obtê-lo, automatizar a renovação e reiniciar os listeners. O ConnectMQ oferece TLS na porta 8883 e WebSocket seguro na 8084 com um certificado Let's Encrypt, então clientes padrão confiam nele sem configuração extra. Para se aprofundar em segurança de transporte, veja Segurança MQTT: Boas Práticas.
Monitoramento
Um broker "puro" oferece logs e, no máximo, topics $SYS. Você ainda precisa de dashboards, alertas e uma forma de ver quais dispositivos estão conectados. O portal do ConnectMQ inclui um dashboard, um explorador de topics ao vivo, um cliente MQTT no navegador, uma visão de dispositivos organizada por níveis ISA-95, regras de alerta por limite e um histórico de alertas.
Custo total de propriedade
A conta do servidor raramente é a parte mais cara. A tabela abaixo compara para onde vai o esforço.
| Área | Broker self-hosted | Broker MQTT gerenciado |
|---|---|---|
| Servidores e sistema operacional | Você provisiona, dimensiona e aplica patches | O provedor opera |
| Atualizações do broker | Você testa e implanta | O provedor implanta |
| Certificados TLS | Você emite, renova e implanta | Incluídos e renovados |
| Autenticação | Você configura usuários e armazenamento | Credenciais geradas no portal |
| Proteção contra abuso e sobrecarga | Você cria rate limits e bloqueios | Cotas, proteção contra flood e bloqueio de IP já incluídos |
| Monitoramento e alertas | Você monta dashboards e alertas | Dashboard, explorador de topics e regras de alerta incluídos |
| Escalabilidade | Redimensionar, ajustar, redesenhar | Trocar de plano ou migrar para dedicado |
| Plantão | Sua equipe | O provedor para o broker; você para suas aplicações |
| Tempo até a primeira mensagem | De horas a dias | Minutos |
O self-hosting ainda faz sentido quando os dados nunca podem sair da sua rede, quando há requisitos rígidos de air-gap ou quando você já tem uma equipe de plataforma com capacidade sobrando. Para a maioria das equipes que estão entregando um produto, um broker MQTT gerenciado transforma um fardo operacional recorrente em uma assinatura previsível.
Modelos de Implantação de Broker MQTT Gerenciado
"Gerenciado" não é uma coisa só. O modelo certo depende de quanto isolamento você precisa e de onde seus dados devem ficar. O ConnectMQ oferece quatro modelos, que correspondem aos seus planos.
| Modelo de implantação | Plano ConnectMQ | Quem opera a infraestrutura | Indicado para |
|---|---|---|---|
| Serverless (compartilhado) | Serverless Free / Serverless Paid | ConnectMQ, em um cluster multi-tenant compartilhado | Protótipos, pilotos, frotas de produção pequenas e médias |
| Dedicated | Dedicated | ConnectMQ, em um cluster isolado só para você | Cargas de produção que precisam de recursos próprios |
| Bring Your Own Cloud | BYOC | ConnectMQ gerencia os brokers dentro da sua conta de nuvem | Residência de dados, compromissos de nuvem existentes |
| Self-managed | Self Managed Enterprise | Você, com um broker ConnectMQ licenciado | Ambientes on-premises, regulados ou air-gapped |
Serverless (cluster compartilhado)
Você tem um broker em segundos, sem escolher tamanho de máquina. Os topics de cada tenant ficam isolados dos outros tenants e da área pública. O plano Serverless gratuito é voltado para testes e protótipos: até 25 conexões simultâneas, QoS até 1, mensagens de 256 KB, retained messages e assinaturas com wildcard. O plano Serverless pago eleva isso a limites de produção no mesmo cluster compartilhado: até 1.000 conexões, QoS 2, mensagens de 1 MB e shared subscriptions.
Dedicated
O plano Dedicated oferece um cluster de broker isolado só seu. Vizinhos barulhentos saem da equação e a capacidade fica reservada para a sua carga, enquanto o ConnectMQ continua operando tudo.
BYOC (Bring Your Own Cloud)
Com o BYOC, os brokers rodam na sua própria conta de nuvem e o ConnectMQ os gerencia. Isso é útil quando sua equipe de segurança exige que os dados fiquem dentro dos limites da sua conta ou quando você quer aproveitar um gasto de nuvem já contratado.
Self Managed Enterprise
Para fábricas, concessionárias de energia, mineradoras e outros locais em que o broker precisa ficar no seu próprio hardware, o plano Self Managed Enterprise fornece um broker licenciado que você roda na sua infraestrutura. Ele é ideal para ambientes industriais; leia Sparkplug B e Unified Namespace para ver como o ConnectMQ lida com estruturas de topics ISA-95 e Sparkplug B.
Em dúvida sobre qual escolher? Nosso guia sobre como escolher um broker MQTT para IoT apresenta os critérios de decisão.
Guia Rápido: Seu Primeiro Broker MQTT Gerenciado em 5 Minutos
Você pode testar o MQTT antes de criar uma conta e depois migrar para um broker privado com credenciais.
Passo 0: Teste anonimamente no servidor MQTT público
O broker.connectmq.com também funciona como servidor MQTT público gratuito, com uma área pública separada. Conecte sem usuário nem senha e com um client ID único e não vazio. Tudo na área pública pode ser lido por qualquer pessoa, então use um prefixo aleatório e nunca envie dados pessoais ou sensíveis.
Abra um terminal e assine:
mosquitto_sub -h broker.connectmq.com -p 1883 -i demo-sub-7f3k \
-t "connectmq/demo/7f3k/#" -v
Em um segundo terminal, publique:
mosquitto_pub -h broker.connectmq.com -p 1883 -i demo-pub-7f3k \
-t "connectmq/demo/7f3k/room1/temp" -m '{"temp":22.5}' -q 1
O assinante imprime connectmq/demo/7f3k/room1/temp {"temp":22.5}. Os limites da área pública são 64 KB por mensagem, 10 mensagens por segundo por cliente, 10 assinaturas por cliente e até 8 níveis de topic. Ótimo para testes; para produção, você vai querer seu próprio broker.
Passo 1: Cadastre-se e crie um broker
- Acesse app.connectmq.com e crie sua conta. O plano Serverless gratuito não exige cartão de crédito.
- Escolha um plano e crie um broker.
- Copie o usuário, a senha e o client ID gerados. Seu client ID fica restrito ao valor emitido e às suas variantes com
_sufixo(por exemploYOUR_CLIENT_ID_sensor1), o que permite rodar vários clientes no mesmo broker.
Passo 2: Conecte via TLS com o mosquitto
Use a porta 8883 para MQTT criptografado. Como o certificado é emitido pela Let's Encrypt, basta apontar o cliente para o repositório de CAs do sistema. No Linux e no macOS:
mosquitto_sub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
-u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID_sub \
-t "factory1/line1/#" -v -V mqttv5
mosquitto_pub -h broker.connectmq.com -p 8883 --capath /etc/ssl/certs \
-u YOUR_USERNAME -P YOUR_PASSWORD -i YOUR_CLIENT_ID_pub \
-t "factory1/line1/cnc1/telemetry" -m '{"spindle_rpm":12000}' -q 1 -V mqttv5
No Windows, informe um arquivo de bundle de CAs com --cafile em vez de --capath.
Passo 3: Conecte a partir do Python
Instale o cliente com pip install paho-mqtt (versão 2.x) e execute:
import json
import ssl
import paho.mqtt.client as mqtt
BROKER = "broker.connectmq.com"
PORT = 8883
USERNAME = "YOUR_USERNAME"
PASSWORD = "YOUR_PASSWORD"
CLIENT_ID = "YOUR_CLIENT_ID"
TOPIC = "factory1/line1/cnc1/telemetry"
def on_connect(client, userdata, flags, reason_code, properties):
print("Connected:", reason_code)
client.subscribe(TOPIC, qos=1)
client.publish(TOPIC, json.dumps({"spindle_rpm": 12000}), qos=1)
def on_message(client, userdata, msg):
print(f"{msg.topic} -> {msg.payload.decode()}")
client = mqtt.Client(
mqtt.CallbackAPIVersion.VERSION2,
client_id=CLIENT_ID,
protocol=mqtt.MQTTv5,
)
client.username_pw_set(USERNAME, PASSWORD)
client.tls_set(cert_reqs=ssl.CERT_REQUIRED)
client.on_connect = on_connect
client.on_message = on_message
client.connect(BROKER, PORT, keepalive=60)
client.loop_forever()
Você deve ver Connected: Success seguido da sua própria mensagem. Abra o explorador de topics ao vivo no portal e a mesma mensagem aparece lá.
Passo 4: Acompanhe e crie alertas
No portal, você pode inspecionar os topics conforme as mensagens chegam, verificar quais clientes estão conectados e adicionar uma regra de alerta por limite (por exemplo, notificar quando spindle_rpm ultrapassar um valor). Se você trabalha no VS Code, a extensão do ConnectMQ mostra os reason codes de CONNACK, SUBACK e PUBACK e plota ao vivo campos numéricos de JSON.
O Que Verificar Antes de Escolher um Broker MQTT Gerenciado
Qualquer que seja o provedor avaliado, faça estas perguntas:
- Suporte a protocolos: Ele suporta MQTT 3.1.1 e MQTT 5.0? Recursos do MQTT 5 como session expiry, message expiry, topic aliases e reason codes facilitam a operação de frotas.
- Opções de transporte: TCP, TLS e WebSocket (incluindo WebSocket seguro para dashboards no navegador).
- Isolamento entre tenants: Seus topics ficam invisíveis para outros clientes em um cluster compartilhado?
- Proteção contra abuso: Cotas, proteção contra flood e bloqueio de tentativas repetidas com credenciais inválidas.
- Limites anunciados, não adivinhados: Um broker MQTT 5 pode informar seus limites aos clientes no CONNACK (Maximum QoS, Retain Available, Wildcard e Shared Subscription Available, Receive Maximum). O ConnectMQ faz isso, então os clientes podem se adaptar em vez de falhar silenciosamente.
- Caminho de evolução: Dá para migrar de um broker compartilhado gratuito para dedicado, para sua própria nuvem ou para on-premises sem reescrever os dispositivos?
Comece com o ConnectMQ
Crie seu primeiro broker MQTT gerenciado em app.connectmq.com. O plano Serverless é gratuito, não exige cartão de crédito e entrega credenciais, TLS e um portal com explorador de topics em minutos. Quando ele ficar pequeno, migre para Serverless Paid, Dedicated, BYOC ou Self Managed Enterprise sem alterar seu código MQTT.
Perguntas frequentes
O que é um broker MQTT gerenciado?
Um broker MQTT gerenciado é um servidor MQTT operado por um provedor. Você se conecta com clientes MQTT padrão usando um hostname e credenciais, enquanto o provedor cuida de servidores, atualizações, certificados TLS, capacidade e proteção.
Um broker MQTT gerenciado é mais caro do que o self-hosting?
A assinatura pode parecer mais cara do que uma única VM, mas o self-hosting também custa tempo de engenharia com patches, certificados, monitoramento e plantão. Para a maioria das equipes, o custo total de propriedade é menor com um serviço gerenciado, e o ConnectMQ oferece um plano Serverless gratuito para começar.
Posso usar minhas bibliotecas cliente MQTT atuais?
Sim. O ConnectMQ fala MQTT 3.1.1 e MQTT 5.0 padrão sobre TCP, TLS e WebSocket, então bibliotecas como Eclipse Paho, MQTT.js e PubSubClient funcionam sem alterações.
Quais portas devo usar com o ConnectMQ?
Em produção, use 8883 para MQTT sobre TLS e 8084 para WebSocket seguro. As portas 1883 (TCP) e 8083 (WebSocket) estão disponíveis para testes rápidos no servidor MQTT público.
Posso manter os dados na minha própria nuvem ou on-premises?
Sim. O plano BYOC roda brokers MQTT gerenciados pelo ConnectMQ na sua própria conta de nuvem, e o plano Self Managed Enterprise fornece um broker licenciado que você roda na sua própria infraestrutura.



