Guias

Melhores brokers MQTT comparados: Mosquitto vs EMQX vs HiveMQ vs gerenciados

Uma comparação honesta de brokers MQTT: Mosquitto, EMQX, HiveMQ, VerneMQ, NanoMQ e brokers gerenciados — linguagem, cluster, MQTT 5, licenças e como escolher.

Atualizado · 8 min de leitura

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.

BrokerLinguagemCluster na edição gratuita / open sourceMQTT 5Licença (edição gratuita)
Eclipse MosquittoCNão (apenas bridging)SimEPL-2.0 / EDL-1.0
EMQXErlang/OTPSimSimApache 2.0 nas versões mais antigas; versões mais novas usam uma Business Source License
HiveMQ Community EditionJavaNão (o cluster faz parte do HiveMQ Enterprise)SimApache 2.0
VerneMQErlang/OTPSimSimApache 2.0
NanoMQCNão (apenas bridging)SimMIT

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

  1. 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.
  2. Gateways de borda: Mosquitto ou NanoMQ, com bridge para um broker central.
  3. 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.
  4. 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.
  5. 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.