EMQX

High-concurrency distributed MQTT message server

Overview

EMQX is a cloud-native MQTT message server developed by EMQ, built with Erlang/OTP, known for high concurrency, low latency, and high availability. EMQX supports millions of concurrent connections on a single node and can scale linearly to tens of millions in cluster mode. It is one of the preferred open-source MQTT Brokers for IoT device access. In addition to MQTT, EMQX also supports MQTT-SN, CoAP, LwM2M, WebSocket, and other protocols. Its built-in rule engine can bridge messages to backends like Kafka, MySQL, HTTP, enabling seamless integration of device data with business systems. It is suitable for large-scale IoT scenarios such as connected vehicles, industrial internet, energy monitoring, and smart cities. Available in both open-source (Apache 2.0) and enterprise editions (including operations tools and technical support).

EMQX and Eclipse Mosquitto have different positions: Mosquitto is lightweight and suitable for small-scale use; EMQX is aimed at large-scale, enterprise-level scenarios, supporting clustering, a rules engine, and multiple protocols. In SimtoLink's IoT platform practice, EMQX often serves as the core device access layer, working with Kafka, time-series databases, ThingsBoard, etc., to build a complete IoT data pipeline.

Core Features

High Concurrency and Clustering

A single node supports millions of connections, thanks to Erlang's lightweight processes and Actor model. Clustering uses RLOG replication and supports horizontal scaling. Device connections can be distributed across nodes, and sessions migrate in the event of a single node failure, without business interruption.

Rule Engine

SQL-based rule configuration, supporting message filtering, transformation, and forwarding. Messages from specified topics can be bridged to Kafka, HTTP, databases, etc. Supports data masking and format conversion. Enables integration of device data with downstream systems without coding.

Multiple Protocols and Authentication

MQTT 3.1.1/5.0, MQTT-SN, CoAP, LwM2M, WebSocket. Built-in authentication (built-in database, MySQL, Redis, HTTP, LDAP, JWT), ACL permission control. Supports integration with external authentication systems.

Cloud Native

Supports Kubernetes deployment and Helm Chart. Supports horizontal scaling, health checks. Suitable for building cloud-based IoT platforms.

Typical IoT Applications

Internet of Vehicles: T-Box and in-vehicle terminals connect to EMQX via MQTT, and data is forwarded to Kafka or the IoV platform through the rule engine.

Industrial Collection: Edge gateways, PLCs, and sensors report via MQTT, with the EMQX cluster supporting high-concurrency access.

Energy Monitoring: Data from electricity meters, water meters, and photovoltaic inverters is aggregated, and the rule engine writes to the time-series database or business systems.

Smart City: Devices such as streetlights, parking, and environmental monitoring equipment are uniformly connected, supporting the city's IoT platform.

Ecosystem and Integration

Has official or community bridge solutions with Kafka, RabbitMQ, MySQL, InfluxDB, TimescaleDB, ThingsBoard, etc. Supports Dashboard management, monitoring metrics export (Prometheus). The enterprise version provides richer operations and security capabilities.


Related Links