MQTT gerenciado na nuvem

Broker MQTT como Serviço: O Que Você Recebe e O Que Não Recebe

Um broker MQTT como serviço elimina o trabalho com servidores, mas não todas as responsabilidades. Veja uma divisão clara entre o que fica com o provedor e o que continua com você, com um padrão prático de integração.

Ilustração de broker MQTT como serviço separando responsabilidades do provedor, como patches e TLS, das responsabilidades do cliente, como dispositivos e dados
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

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

  1. Quais versões e transportes MQTT são suportados?
  2. Quais são os limites exatos de conexões, tamanho de mensagem e QoS em cada plano?
  3. Como as credenciais são emitidas, rotacionadas e revogadas?
  4. Como o serviço sinaliza aos clientes as violações de cota?
  5. Quais ferramentas de visibilidade estão incluídas?
  6. O que não está incluído, como armazenamento, motores de regras ou conectores?
  7. Quais opções de isolamento existem além dos planos compartilhados?
  8. Quais são os termos de SLA, por escrito?
  9. 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.

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.