Skip to content

Feature Comparison ​

This page lists features supported across different deployment types in detail.

Core / Enterprise Features ​

FeaturesSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
MQTT 5.0 Broker✅✅✅Complete MQTT 5.0 protocol implementation
MQTT over QUIC✅✅✅Globally pioneering support
In development for Cloud
MQTT Add-ons✅❌✅Shared subscription
Exclusive subscription
Delayed publish
Auto-subscription
Topic rewrite
More customization options
Multi-protocol Gateways✅❌✅More industry device access
Multi-tenancy✅❌✅Higher system flexibility and utilization
Cluster Linking✅❌✅Seamless connection of devices and application data
Message Queue✅❌✅Unified architecture for data transmission and analysis
Stream Processing✅❌✅Higher reliability and disaster recovery capabilities
(Coming soon)
Data Persistence✅ Built-in RocksDB backend or external databasesN/AN/AImproved stability and reliability
Schema Registry✅❌✅Schema Registry ensures data consistency and compatibility
Message Codec✅❌✅Flexible message format conversion for:
JSON, Avro, Protobuf, Custom codec (HTTP/gRPC)
Schema Validation✅✅✅Ensuring integrity and legality of messages
Rule Engine✅✅✅SQL-based built-in Rule Engine and real-time data processing
Flow Designer✅❌✅Easy orchestration of data integration
File Transfer✅❌✅ In product roadmapUnified platform data transmission
Kafka Integration✅✅✅Stream MQTT Data into Apache Kafka
Enterprise Data Integrations✅ 40+✅✅ 40+Accelerate business development and delivery speed
Troubleshooting✅❌✅Log Trace
Slow Subscriptions
Cloud-Native & K8s✅N/AN/AReduce system deployment and management costs
Edge Computing✅✅✅Reduce data transmission latency and costs
Neuron
NanoMQ

Scalability and Performance ​

Scalability / PerformanceSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
ScalabilityUp to 100 nodes cluster
Up to 100 million MQTT connections per cluster
1000 auto scale1000 - unlimitedReaching 100M MQTT connections with EMQX 5.0
AvailabilityCore-Replica clusterMasterless clusterMasterless cluster
ReliabilityData persistence in RocksDB with highly available replicationSession persistenceSession persistenceHighly Reliable MQTT Data Persistence Based on RocksDB
Performance5M+ MQTT messages per second1000 MQTT messages per second5M+ MQTT messages per second
Latency1~5 millisecond1~5 millisecond1~5 millisecond
SLAN/A99.9% uptimeUp to 99.99% uptime

Clustering Architecture ​

Clustering ArchitectureSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Nodes of Cluster100+confidentialconfidentialLarge-scale clusters
Elastic and resilient scaling at runtime✅❌✅Higher system stability and resource utilization
Autoscaling✅✅✅
Consistency✅✅✅
Transaction✅✅✅Ensuring the atomicity and reliability of data operations
Network Split Recovery✅✅✅Cluster failure automatic repair
Node Evacuation & Cluster Rebalance✅N/AN/ANon-stop cluster maintenance
Autocluster Discoveries✅N/AN/Astatic: Discovery based on a static node list
mcast: Discovery with UDP multicast mode
dns: Discovery based on DNS records
etcd: Discovery via etcd
k8s: Discovery via Kubernetes service
Zero Downtime / Hot Upgrades✅N/AN/AImmediate repair of system vulnerabilities
Hot Patch✅N/AN/AEnsuring stable system operation
Overload Protection✅N/AN/AImproving system management efficiency
Multi-cluster Management✅N/AN/AEnhancing system stability
Cluster Metrics✅N/AN/A

MQTT and Connectivity ​

MQTT & ConnectivitySelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
MQTT 3.x✅✅✅
MQTT 5.0✅✅✅
MQTT Retainer✅✅✅
MQTT over TCP✅❌✅
MQTT over TLS✅✅✅
MQTT over WebSocket✅✅✅
MQTT over QUIC✅❌✅EMQX is now the only MQTT broker in the world that supports QUIC transport.
LB (Proxy Protocol)✅❌✅Proxy protocol v1, v2
LB (Custom)✅❌✅GmSSL
Smooth connection migration
IPv6 Support✅❌✅
Multi-protocol Gateway✅❌✅
MQTT-SN✅❌✅
STOMP✅❌❌
CoAP✅❌✅
LwM2M✅❌❌
OCPP✅❌❌
JT/808✅❌✅
GB/T 32960✅❌❌

Security ​

SecuritySelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
TLS/SSL✅✅✅Protect data transmission security: TLS 1.1, 1.2, 1.3
QUIC✅❌✅Enhance efficiency of weak network and mobile network data transmission
OCSP Stapling✅❌✅Provide more flexible security practices
Flapping Detect✅✅✅ In product roadmapDetect and block excessive connection attempts
Audit Logs✅✅✅Support audit tracing for important operations
Dashboard SSO✅✅✅Secure and simplified authentication processes
Dashboard / REST API RBAC✅✅✅Minimize permissions to ensure system security

Authentication and Authorization ​

Authentication / AuthorizationSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Username / Password✅✅✅Password-Based Authentication
JWT✅❌✅JWT Authentication
MQTT 5.0 Enhanced Authentication✅N/AN/AMQTT 5.0 Enhanced Authentication
LDAP Authentication✅❌✅ In product roadmap
PSK Authentication✅❌✅Enable PSK Authentication
X.509 Certificates✅✅ Managed by EMQX Cloud✅
Fine-grained Access Control✅✅✅
Authentication Database Backends✅❌✅
ACL Database Backends✅❌✅

Data Integration ​

As EMQX evolves, it supports an expanding range of data integrations, including but not limited to those listed below.

Data IntegrationSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)
MQTT Bridge✅❌✅
Webhook / HTTP Server✅✅✅
Aliyun Tablestore✅✅✅
Apache Kafka / Confluent✅✅✅
Apache IoTDB✅❌✅
Apache Pulsar✅❌✅
AWS Kinesis✅❌✅
AWS S3✅❌✅
Azure Event Hubs✅❌✅
Azure Blob Storage✅❌✅
Cassandra✅❌✅
ClickHouse✅❌✅
Couchbase✅❌✅
DynamoDB✅❌✅
Elasticsearch✅❌✅
GCP PubSub✅❌✅
GreptimeDB✅❌✅
HStreamDB✅❌✅
InfluxDB✅❌✅
Microsoft SQL Server✅❌✅
MongoDB✅❌✅
MySQL✅❌✅
OpenTSDB✅❌✅
Oracle Database✅❌✅
PostgreSQL✅❌✅
RabbitMQ✅❌✅
Redis✅❌✅
RocketMQ✅❌✅
Snowflake✅❌✅
Syskeeper✅❌✅
TDengine✅❌✅
TimeScaleDB✅❌✅

Rule Engine ​

Rule EngineSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Schema Registry✅❌✅Ensure data format consistency
JSON Codec✅❌✅
Avro Codec✅❌✅
Protobuf Codec✅❌✅
Sparkplug B Codec✅❌✅
JSON Schema Validation✅❌✅
Avro Validation✅❌✅
ProtoBuf Validation✅❌✅
Built-in Functions✅❌✅Functions available in SQL statements, rich built-in libraries, support custom extensions
jq Functions✅❌✅Efficient JSON data processing
Event Trigger✅❌✅Client events, event-driven business development
Schema Validation✅❌✅
Message Transformation✅❌✅

Extensibility ​

ExtensibilitySelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Hooks✅N/AN/AHooks
Plugins✅N/AN/APlugins
Plugin Hot Loading✅N/AN/A
Plugin Hot Configuration✅N/AN/A
Gateways✅N/AN/A
ExHooks / gRPC✅N/AN/A

Operability ​

OperabilitySelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Dashboard✅✅✅EMQX dashboard is feature-rich.
Configs can be hot updated through the dashboard.
Configuration✅ HOCONN/AN/AThe HOCON format is simple and concise.
HTTP API✅✅✅
CLI✅✅✅
Config Hot Updates✅N/AN/A
Operational Auditing✅✅✅

Observability ​

ObservabilitySelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Dashboard✅✅✅Monitor clusters in real time with an elegant dashboard
Metrics✅✅✅Node metrics
Grafana✅❌✅
Prometheus✅❌✅
Datadog✅❌✅
OpenTelemetry✅❌✅
Cluster Metrics✅N/AN/A
Alarm Alerts✅✅✅
Slow Subscription Monitoring✅❌✅
Topic Monitoring✅❌✅
Client Monitoring✅✅✅
Log Trace✅✅✅

Cloud Native and K8S ​

Cloud Native & K8sSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Docker✅N/AN/ADocker Hub
Kubernetes Operator✅N/AN/AEMQX Kubernetes Operator

Cloud Platform Availability ​

Cloud PlatformSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
AWS Marketplace✅✅✅AWS Marketplace: EMQX Platform (Pay as you go)
Azure Marketplace✅✅✅Azure Marketplace: EMQX Platform
GCP Marketplace✅✅✅GCP Marketplace
AWS✅✅✅
Azure✅✅✅
GCP✅✅✅

MQTT Tools and SDKs ​

MQTT Tools & SDKsSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
MQTT Desktop Client✅✅✅MQTT X - The best tool for learning MQTT.
MQTTX: Your All-in-one MQTT Client Toolbox
MQTT CLI✅✅✅MQTTX CLI: A Powerful and Easy-to-use MQTT CLI Tool
MQTT Web Tool✅✅✅Feature-rich and Easy-to-use.
MQTTX Web: Easy-to-use MQTT Websocket Client Tool
MQTT Benchmark✅✅✅GitHub - emqx/emqtt-bench: Lightweight MQTT benchmark tool written in Erlang
MQTT & JMeter✅ JMeter Plugin✅✅GitHub - emqx/mqtt-jmeter: MQTT JMeter Plugin
MQTT SDK for C✅ NanoSDK✅✅GitHub - nanomq/NanoSDK: MQTT 5.0-compliant SDK with QUIC support in NNG flavor
MQTT Erlang SDK✅✅✅GitHub - emqx/emqtt: Erlang MQTT 5.0 Client
MQTT iOS SDK✅✅✅GitHub - emqx/CocoaMQTT: MQTT 5.0 client library for iOS and macOS written in Swift
GitHub - emqx/swift-mqtt: An MQTT Client over TCP and QUIC protocol
MQTT QUIC Client✅✅✅GitHub - emqx/quic: QUIC protocol for Erlang & Elixir

Support Services ​

Support ServicesSelf-Hosted (Enterprise)MQTT as a Service (Serverless)MQTT as a Service (Dedicated Flex)Notes and Links
Technical Support5×8, 7×24 Global Support5×8 Global Support5×8, 7×24 Global Support
Architecture Consulting✅❌✅
Project Integration✅❌❌
Custom Development✅❌❌