Todo broker MQTT roteia mensagens de publicadores para assinantes, e todo broker sério suporta MQTT 3.1.1 e 5. As diferenças reais estão em escala, operação e licenciamento: como ele faz cluster, em que linguagem foi escrito, quanto custa para rodar e quem o mantém. Esta comparação se atém a fatos conhecidos e verificáveis — sem benchmarks inventados — e termina com um guia prático de escolha.
Quer apenas testar um broker agora? Nossa lista de brokers públicos tem endpoints de teste prontos para uso, e você pode se conectar a qualquer um deles pelo navegador.
Conectar a um broker público no navegador
Brokers MQTT em resumo
Para uma matriz recurso a recurso que você pode filtrar, use a comparação interativa de brokers MQTT.
| Broker | Linguagem | Cluster na edição gratuita / open source | MQTT 5 | Licença (edição gratuita) |
|---|---|---|---|---|
| Eclipse Mosquitto | C | Não (apenas bridging) | Sim | EPL-2.0 / EDL-1.0 |
| EMQX | Erlang/OTP | Sim | Sim | Apache 2.0 nas versões mais antigas; versões mais novas usam uma Business Source License |
| HiveMQ Community Edition | Java | Não (o cluster faz parte do HiveMQ Enterprise) | Sim | Apache 2.0 |
| VerneMQ | Erlang/OTP | Sim | Sim | Apache 2.0 |
| NanoMQ | C | Não (apenas bridging) | Sim | MIT |
Eclipse Mosquitto
O Mosquitto é o broker open source mais usado e a escolha padrão para implantações pequenas e médias. É escrito em C, roda tranquilamente em um Raspberry Pi ou em um gateway de borda e é configurado com um único arquivo de texto. Ele vem com os clientes de linha de comando mosquitto_pub e mosquitto_sub, usados na maioria dos tutoriais de MQTT.
- Pontos fortes: footprint minúsculo, configuração simples, maduro, empacotado para a maioria das distribuições Linux e disponível como imagem Docker oficial.
- Limitações: nó único — sem cluster nativo; você pode fazer bridge entre brokers, mas as sessões não são compartilhadas. A autenticação é baseada em arquivo ou plugin.
Comece com a instalação do Mosquitto, o gerador de mosquitto.conf e o broker público test.mosquitto.org.
EMQX
O EMQX, desenvolvido pela EMQ Technologies, é escrito em Erlang/OTP e projetado para cluster e para um número muito grande de conexões simultâneas. Além do MQTT puro, ele inclui um rule engine com sintaxe parecida com SQL, integrações de dados com bancos de dados e plataformas de streaming, um dashboard web e backends nativos de autenticação e autorização.
- Pontos fortes: cluster nativo, conjunto rico de recursos pronto para uso, boa observabilidade, extras como estratégias de shared subscription e o prefixo
$queue. - Limitações: mais pesado para rodar e operar do que o Mosquitto; revise a licença da versão que você implanta.
Experimente pelo broker público do EMQX.
HiveMQ
O HiveMQ é um broker baseado em Java com forte foco corporativo. A HiveMQ Community Edition, open source, é um broker MQTT 3.1.1 e 5 completo para uso em nó único, com um SDK de extensões. Cluster, segurança corporativa, monitoramento e suporte comercial fazem parte do HiveMQ Enterprise, e a HiveMQ também oferece um serviço gerenciado na nuvem.
- Pontos fortes: aderente à especificação, bem documentado, suporte comercial forte e ferramentas para setores regulados.
- Limitações: o cluster exige a edição comercial; a JVM precisa de mais memória do que brokers escritos em C.
Experimente pelo broker público da HiveMQ.
VerneMQ e NanoMQ
VerneMQ
O VerneMQ é um broker baseado em Erlang, sob licença Apache, com cluster nativo e suporte a MQTT 5. É uma opção sólida se você quer cluster open source com uma licença permissiva. Verifique o ritmo atual de lançamentos do projeto e como os pacotes binários oficiais são distribuídos antes de se comprometer com ele.
NanoMQ
O NanoMQ, também da EMQ, é um broker leve em C voltado para dispositivos e gateways de borda. Ele suporta MQTT 5, bridging para brokers na nuvem e MQTT sobre QUIC. Pense nele como um companheiro de borda para um broker central, não como um substituto.
Brokers MQTT gerenciados e na nuvem
Um broker gerenciado elimina o trabalho operacional — patches, certificados TLS, monitoramento, backups e escala — em troca de uma assinatura. As opções incluem:
- HiveMQ Cloud e EMQX Cloud — versões hospedadas dos brokers acima.
- AWS IoT Core e Azure IoT Hub / Azure Event Grid — endpoints MQTT que fazem parte de plataformas de IoT maiores na nuvem. Eles se integram aos serviços de identidade e de dados de cada nuvem, mas usam autenticação específica da plataforma e, em alguns casos, um subconjunto restrito de recursos do MQTT ou de estruturas de tópicos.
- ConnectMQ — um broker MQTT gerenciado que oferece instâncias privadas e isoladas com autenticação por usuário/senha, controle de acesso por tópico, TLS e WebSockets seguros, com suporte a MQTT 3.1.1 e 5. Veja o ConnectMQ na nossa lista de brokers.
Serviços gerenciados diferem principalmente no modelo de preço, nos limites de conexões e mensagens, em quais recursos do MQTT 5 expõem e se usam autenticação padrão por usuário/senha ou esquemas de identidade proprietários. Compare esses pontos com os seus requisitos, e não com promessas de marketing.
Como escolher um broker MQTT
- Aprendizado, prototipagem ou automação residencial: Mosquitto em um Raspberry Pi ou no Docker, ou um broker público de teste gratuito. Veja Home Assistant MQTT para uma configuração comum.
- Gateways de borda: Mosquitto ou NanoMQ, com bridge para um broker central.
- Produção com alta disponibilidade na sua própria infraestrutura: um broker com cluster como EMQX, VerneMQ ou HiveMQ Enterprise — e uma equipe à vontade para operá-lo.
- Integração profunda com um provedor de nuvem: o serviço de IoT desse provedor, se o subconjunto de recursos MQTT dele atender aos seus dispositivos.
- Produção sem manter servidores: um broker gerenciado com MQTT padrão, TLS e credenciais por dispositivo.
Seja qual for a escolha, verifique estes pontos antes de se comprometer:
- Recursos do protocolo dos quais você depende: propriedades do MQTT 5, shared subscriptions, mensagens retidas, limites de tamanho de mensagem. Veja MQTT 5 vs 3.1.1.
- Transportes: TCP, TLS e WebSockets para clientes no navegador — veja portas MQTT.
- Segurança: autenticação, ACLs por tópico e TLS. Nossas boas práticas de segurança MQTT listam o que observar.
- Operação: monitoramento, atualizações, backups e quem é acionado de madrugada.
Teste antes de decidir
Quaisquer que sejam os brokers da sua lista final, rode os mesmos testes em cada um: conecte por todos os transportes de que você precisa, verifique QoS e mensagens retidas e confirme que sua configuração de autenticação funciona. Nosso guia sobre como testar um broker MQTT mostra isso passo a passo.
Perguntas frequentes
Qual broker MQTT é melhor para iniciantes?
O Eclipse Mosquitto costuma ser o ponto de partida mais fácil. Ele é pequeno, está disponível na maioria dos gerenciadores de pacotes e como imagem Docker e é configurado com um único arquivo de texto. Se você não quer manter servidor nenhum, um broker MQTT gerenciado é a opção mais simples.
Mosquitto ou EMQX: qual é melhor?
Eles atendem necessidades diferentes. O Mosquitto é um broker leve de nó único, ideal para implantações pequenas, gateways de borda e automação residencial. O EMQX foi feito para cluster e grandes quantidades de conexões e inclui um rule engine e integrações de dados, ao custo de mais complexidade.
O Mosquitto pode rodar em cluster?
O broker Mosquitto open source não tem cluster nativo. Você pode conectar várias instâncias do Mosquitto com bridges, mas isso não é o mesmo que um cluster com sessões compartilhadas. Se precisar de cluster nativo, considere EMQX, VerneMQ, HiveMQ Enterprise ou um serviço gerenciado.