Broker de mensagens MQTT distribuído, baseado em Erlang, para IoT e comunicação industrial, com suporte a MQTT 3.1, 3.1.1 e 5.0.
emqx/emqx
Broker MQTT escalável e plataforma de dados para IoT que conecta grandes quantidades de dispositivos e roteia mensagens em tempo real.
- Estrelas
- 16,886
- Forks
- 2,579
- Issues abertas
- 270
- Último commit
- há 11 horas
O que é?
O EMQX é um broker MQTT para IoT, IoT industrial e sistemas de veículos conectados. Ele oferece suporte a MQTT 5.0, 3.1.1 e 3.1 e, por meio de gateways, também trabalha com MQTT-SN, CoAP, LwM2M e MQTT sobre QUIC, permitindo que dispositivos com protocolos diferentes compartilhem a mesma infraestrutura.
O broker funciona como um cluster sem nó mestre para garantir alta disponibilidade. As mensagens podem ser processadas durante o fluxo por um mecanismo de regras baseado em SQL e, em seguida, encaminhadas para sistemas como Kafka, RabbitMQ, PostgreSQL, MySQL, MongoDB, Redis e ClickHouse, além de serviços de nuvem como AWS Kinesis e GCP Pub/Sub. Uma fila de mensagens integrada oferece armazenamento durável, com limites de TTL e tamanho.
A segurança inclui TLS/SSL, vários métodos de autenticação (nome de usuário e senha, JWT, PSK, X.509), controle de acesso baseado em ACL e fontes externas de autenticação, como LDAP e bancos de dados SQL. O monitoramento pode ser feito com Prometheus, Grafana, Datadog e OpenTelemetry, além de um dashboard web e uma API HTTP.
Recursos principais
- 01Oferece suporte a MQTT 5.0, 3.1.1 e 3.1, além de MQTT-SN, CoAP, LwM2M e MQTT sobre QUIC por meio de gateways.
- 02Funciona como um cluster sem nó mestre para garantir alta disponibilidade.
- 03Mecanismo de regras baseado em SQL para filtrar e transformar mensagens durante o fluxo.
- 04Pontes de dados integradas para Kafka, bancos de dados e serviços de nuvem.
- 05TLS/SSL com vários métodos de autenticação e controle de acesso por ACL.
- 06Integração com Prometheus, Grafana e OpenTelemetry, além de um dashboard web com API HTTP.
Casos de uso
- Conectar milhões de sensores de IoT ou IoT industrial a uma infraestrutura central de mensageria.
- Transmitir telemetria de veículos ou frotas para o Kafka ou pipelines de dados na nuvem.
- Filtrar e armazenar dados de dispositivos em bancos de dados em tempo real usando regras.
Início rápido
- 1
Execute um único nó usando o Docker
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx-enterprise:latest - 2
Consulte o guia Install EMQX Using Docker para obter mais instruções
- 3
Ou compile e execute localmente uma versão a partir do código-fonte
git clone https://github.com/emqx/emqx.git && cd emqx && make && _build/emqx-enterprise/rel/emqx/bin/emqx console
Antes de usar
- A partir da versão v5.9.0, o projeto é licenciado sob a Business Source License 1.1, que não é uma licença padrão de código aberto.
- Para compilar a partir do código-fonte, é necessário usar o fork do Erlang/OTP do EMQX, não o Erlang/OTP upstream.
- O comando de início rápido do Docker usa a imagem Enterprise.
Tópicos
Perguntas frequentes
- O que é emqx?
- Broker MQTT escalável e plataforma de dados para IoT que conecta grandes quantidades de dispositivos e roteia mensagens em tempo real. O EMQX é um broker MQTT para IoT, IoT industrial e sistemas de veículos conectados. Ele oferece suporte a MQTT 5.0, 3.1.1 e 3.1 e, por meio de gateways, também trabalha com MQTT-SN, CoAP, LwM2M e MQTT sobre QUIC, permitindo que dispositivos com protocolos diferentes compartilhem a mesma infraestrutura.
- emqx é gratuito? Qual é a licença?
- emqx é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- emqx ainda é mantido?
- Manutenção ativa. O último commit de emqx foi em 6 de nov. de 2026.
- Para que posso usar emqx?
- Conectar milhões de sensores de IoT ou IoT industrial a uma infraestrutura central de mensageria. Transmitir telemetria de veículos ou frotas para o Kafka ou pipelines de dados na nuvem. Filtrar e armazenar dados de dispositivos em bancos de dados em tempo real usando regras.
- Como instalar emqx?
- Execute um único nó usando o Docker: docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx-enterprise:latest Consulte o guia Install EMQX Using Docker para obter mais instruções Ou compile e execute localmente uma versão a partir do código-fonte: git clone https://github.com/emqx/emqx.git && cd emqx && make && _build/emqx-enterprise/rel/emqx/bin/emqx console
- Onde consigo emqx?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/emqx/emqx
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Broker MQTT (servidor) de código aberto com suporte a MQTT 5.0, 3.1.1 e 3.1, além de bibliotecas cliente C/C++ e ferramentas de linha de comando.
Gateway de IoT nativo do Kubernetes que conecta dispositivos por HTTP, MQTT, RTSP, OPC UA e outros protocolos como recursos do cluster.
Servidor de chat XMPP/Jabber em Java, modular e configurável, com suporte a conexões de clientes por TCP, BOSH e WebSockets.
Servidor de código aberto em Erlang para chat em tempo real com XMPP, mensagens MQTT e sinalização de voz e vídeo por SIP.
Plataforma IoT open source para gerenciar dispositivos e ativos, criar regras de automação e desenvolver dashboards e apps personalizados.