Aller au contenu principal
Aller au contenu principal

Software

EMQX

EMQX is a highly scalable open-source MQTT broker (written in Erlang) for IoT production, with clustering and multi-protocol support.

EMQX is an MQTT broker built for large, clustered deployments. It is written in Erlang/OTP, implements MQTT 5.0, 3.1.1 and 3.1, and adds a SQL rule engine and gateways for other IoT protocols. Since version 5.9 it has been distributed under the Business Source License 1.1, a source-available license, instead of an open source one.

How EMQX works

An EMQX node accepts MQTT on ports 1883 (TCP), 8883 (TLS), 8083 (WebSocket) and 8084 (secure WebSocket), and serves its web dashboard on port 18083. Several nodes can form a cluster that shares sessions, subscriptions and routing information, so a message published on one node reaches subscribers connected to the others.

Beyond the broker itself, EMQX includes a rule engine that filters and transforms messages with SQL, data integration with systems such as Kafka and MongoDB, and gateways for other protocols, including MQTT-SN, STOMP, CoAP and LwM2M.

EMQX license and editions

Versions up to 5.8 were released under Apache 2.0 and keep that license. On 7 May 2025 EMQ announced that from 5.9 onwards the community and enterprise editions merge into a single product under the Business Source License 1.1. In practice:

  • One node, of any size, is free in production, as long as you don't offer EMQX as a managed service or bundle it into a product you sell to others.
  • Joining several nodes into a cluster requires a commercial license or an EMQX Cloud subscription.
  • Non-production use is free, and accredited academic institutions and non-profits can run it in production with no node limit.
  • Each version converts to Apache 2.0 four years after its release.

EMQX vs Mosquitto

Eclipse Mosquitto is light enough for a single board computer, is licensed under EPL 2.0 / EDL 1.0 and has no clustering. For a gateway or a single site it often covers the need; EMQX makes sense when you need to spread connections across several nodes, which is the part that now requires a license.

Using EMQX with Cloud Studio IoT

If you already run EMQX, you can bridge it to the MQTT server of your Cloud Studio IoT instance, which accepts TLS on port 8883 with a username and password managed in Gear Manager. Devices stay connected to EMQX, and the bridge forwards their messages to the instance's {MQTTUserID}/uplink/{DeviceAddress} topics. The EMQX integration guide covers the configuration.

Frequently asked questions

Is EMQX open source?+

Versions up to 5.8 are, under Apache 2.0. From 5.9 onwards EMQX uses the Business Source License 1.1, which EMQ classifies as source-available rather than open source.

Is EMQX free?+

For development, testing and a single node in production, yes. A production cluster needs a commercial license or an EMQX Cloud subscription.

What is the difference between EMQX and Mosquitto?+

Mosquitto is a lightweight broker without clustering, licensed under EPL 2.0 / EDL 1.0. EMQX runs as a cluster and adds a rule engine and data integrations, but since version 5.9 a production cluster requires a commercial license.

Related terms

Related articles