Webinar
Introducing EMQX 6.1: Durable MQTT Streams and Analytics-Ready Data | Register Now →

EMQX vs VerneMQ | 2023 MQTT Broker Comparison

Fan WangFan Wang
Apr 14, 2023MQTT
EMQX vs VerneMQ | 2023 MQTT Broker Comparison

Introduction

EMQX and VerneMQ are open-source, highly scalable distributed MQTT brokers written in Erlang/OTP, known for their robustness, fault tolerance, and scalability.

EMQX is now one of the most popular MQTT brokers in the world. While VerneMQ has not been actively developing and maintaining these years.

In the fourth blog of the “2023 MQTT Broker Comparison“ series, we will briefly compare these two brokers as a memo in the history of MQTT.

EMQX Overview

The EMQX project was launched on GitHub in 2012 and is licensed under Apache version 2.0 for the open-source edition, while the enterprise edition is licensed under the Business Source License 1.1. The following content refers to the EMQX open-source edition unless specified otherwise. The idea for EMQX originated from the need for a massively scalable MQTT broker that could handle millions of concurrent connections.

EMQX is now the world's most scalable MQTT messaging server with a distributed architecture based on Mria + RLOG. EMQX 5.0, the latest version, scales to establish 100 million concurrent MQTT connections with a single cluster of 23 nodes.

See: Reaching 100M MQTT connections with EMQX 5.0

EMQX offers rich enterprise features, data integration, cloud hosting services, and commercial support from EMQ Technologies Inc. Over the years, EMQX has gained popularity among enterprises, startups, and individuals due to its performance, reliability, and scalability. EMQX is widely used in various industries, such as IoT, industrial IoT, connected cars, and telecommunications.

Pros:

  • Supports large-scale deployments
  • High availability
  • Horizontal scalability
  • High-performance and reliable
  • Rich enterprise features
  • Pioneering MQTT over QUIC

Cons:

  • Complex to set up and configure
  • Difficult to manage effectively
  • Logs may be confusing
Try EMQX Enterprise for Free
Connect any device, at any scale, anywhere.
Get Started →

VerneMQ Overview

The VerneMQ project was launched in 2014 and initially developed by Erlio GmbH. As the second broker wrote in Erlang/OTP, the project is licensed under Apache Version 2.0 and borrowed some code from the EMQX project.

Regarding architectural design, VerneMQ supports MQTT message persistence in LevelDB and uses a clustering architecture based on the Plumtree library, which implements the Epidemic Broadcast Trees algorithm.

Unfortunately, this Plumtree cluster architecture has not proven to work, even though it seems perfect in theory. The VerneMQ team and community have spent many years trying to make it work, fixing problems such as network split, data inconsistency, and crash recovery.

Finally, the project has stopped being actively developed and maintained, with about 50 commits in the last 12 months.

Pros:

  • High availability
  • Horizontal scalability
  • Message persistence

Cons:

  • Not proofed clustering architecture
  • Limited documentation
  • Limited enterprise features
  • Not actively developing

Community and Popularity

Both the EMQX and VerneMQ projects are hosted on GitHub. EMQX was launched in 2012 and is one of the earliest and now the highest-starred MQTT brokers with 11.4k stars. The VerneMQ project was created in 2014 and has 3k GitHub stars now.

Community & UsersEMQXVerneMQNotes and Links
GitHub ProjectEMQX GitHubVerneMQ GitHub
Product Created20122014
License ModeApache License 2.0Apache License 2.0
Latest Releasev5.0.21 (March 2023)v1.12.6.2 (Nov. 2022)
GitHub Stars11.4k+3k
GitHub Forks2k300+EMQX GitHub Forks
VerneMQ GitHub Forks
GitHub Commits14k+2400+EMQX GitHub Commits
VerneMQ GitHub Commits
GitHub Commits (Last 12 Months)3000+50+
GitHub Issues3500+1300+EMQX GitHub Issues
VerneMQ GitHub Issues
GitHub PRs6000+600EMQX GitHub PRs
VerneMQ GitHub PRs
GitHub Releases260+40EMQX GitHub Releases
VerneMQ GitHub Releases
GitHub Contributors110+50EMQX GitHub Contributors
VerneMQ GitHub Contributors
Docker Pulls24M+5M+EMQX Docker Pulls
VerneMQ Docker Pulls

Features and Capabilities

EMQX and VerneMQ fully implement the MQTT 3.1.1 and 5.0 specifications and support MQTT over WebSocket and SSL/TLS encryption. Both brokers offer various authentication mechanisms, including username-password, JWT, LDAP, and OAuth 2.0 authentication.

EMQX has multiple protocol gateways, including LwM2M/CoAP, MQTT-SN, and Stomp. EMQX 5.0 pioneers MQTT over QUIC, which has the potential to be the next-generation MQTT standard, with multiplexing and faster connection establishment and migration support.

In addition, EMQX provides rich enterprise features for management and integration, such as HTTP API, WebHook, and Rule Engine, which can integrate with Kafka, SQL, NoSQL databases, and cloud services via out-of-box data bridges.

EMQXVerneMQ
MQTT 3.1.1
MQTT 5.0
MQTT over TLS
MQTT over WebSocket
MQTT over QUIC
LwM2M/CoAP
MQTT-SN
Stomp
MQTT Bridging
Authentication & ACL
Message Persistence✅ In RocksDB and external databases✅ In LevelDB
WebHook
Rule Engine
Data Integration
Cloud ServiceCloud Hosting
Serverless MQTT
BYOC

Scalability and Performance

EMQX and VerneMQ are designed for high performance, low latency, and scalability with a distributed architecture. Both can scale to handle millions of concurrent MQTT connections using a single cluster.

EMQX has over 30,000 clusters deployed in production with proven scalability and reliability. The latest EMQX 5.0 hits 100 million MQTT connections in the benchmark with a 23 nodes cluster.

For VerneMQ, few benchmark reports are available on the scalability and performance though it should work well in theory and design. You can benchmark it with the MQTT load testing tools like emqtt-bench, emqttb, or XMeter cloud service.

EMQXVerneMQNotes & Links
Scalability4M MQTT connections per node
100M MQTT connections per cluster
?Reaching 100M MQTT connections with EMQX 5.0
Performance4 million QoS0 MQTT msgs/sec per node
800k QoS1 msgs/sec
200k QoS2 msgs/sec
?
LatencySingle-digit millisecond latency in most scenariosUp to seconds latency in some scenarios
ReliabilityMessage Persistence in RocksDB and external DatabaseMessage Persistence in LevelDBHighly Reliable MQTT Data Persistence Based on RocksDB
VerneMQ Storage
Clustering20+ nodes of cluster?EMQX Cluster Scalability
Vernemq - Cluster
Elastic and Resilient scaling at runtime?
Auto Clustering?EMQX Node Discovery and Autocluster
Zero Downtime/Hot UpgradeEMQX Release Upgrade

? here means that we were unable to find any publicly available documentation or files that could serve as evidence regarding the item under discussion.

Data Integrations (Out of the box)

VerneMQ has limited support for MQTT data integration. It allows users to write plugins to ingest data into external databases or cloud services.

EMQX has a built-in SQL-based rule engine to help extract, filter, enrich, and transform MQTT messages in real-time within the broker.

The Enterprise Edition of EMQX can seamlessly integrate with Kafka, databases, and cloud services using the rule engine and out-of-the-box data bridges.

Extensibility

Both EMQX and VerneMQ can be easily extended with Hooks and Plugins. In addition, EMQX supports multiple protocol gateways, allowing users to develop new connection protocols.

ExtensibilityEMQXVerneMQNotes and Links
HooksHooks
PluginsPlugins Plugin Development
Plugin Hot-loading
GatewaysGateway Introduction
ExHooks/gRPCgRPC Hook Extension

Operability and Observability

EMQX offers a user-friendly dashboard and extensive HTTP APIs. It supports monitoring with Prometheus, and Grafana. VerneMQ is easy to deploy and configure but lacks advanced management and monitoring features.

EMQXVerneMQNotes and Links
DashboardDashboard
ConfigurationHOCON FormatKey-Value Fomat
HTTP APIREST API
CLICommand Line Interface
Config Hot updateConfiguration Files
MetricsNode metrics:
Metrics
$SYSTree
Monitor - Metrics CLI
GrafanaEMQX | Grafana Labs
VerneMQ Node Metrics | Grafana Labs
Cluster MetricsMetrics
Monitor - Metrics CLI
Alarm AlertsSystem Topic
Slow Subscription MonitoringSlow subscribers statistics
PrometheusIntegrate with Prometheus
Prometheus

Conclusion

In short, EMQX is one of the best choices for deploying MQTT brokers in production in 2023. If you want to dive into how to design a distributed MQTT broker and understand the challenges involved, you can read the source code of EMQX and VerneMQ on GitHub.

References

Try EMQX Cloud for Free
A fully managed MQTT service for IoT
Get Started →

Related Posts

Jul 25, 2025Fan Wang
Comparison of Open Source MQTT Brokers 2025

Based on the criteria, we choose to focus on four popular open-source MQTT brokers EMQX, Mosquitto, NanoMQ and VerneMQ. Here is a summary of versions...