Feature Comparison
This page lists features supported across different deployment types in detail.
Core / Enterprise Features
| Features | Self-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 databases | N/A | N/A | Improved 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 roadmap | Unified 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/A | N/A | Reduce system deployment and management costs |
| Edge Computing | ✅ | ✅ | ✅ | Reduce data transmission latency and costs Neuron NanoMQ |
Scalability and Performance
| Scalability / Performance | Self-Hosted (Enterprise) | MQTT as a Service (Serverless) | MQTT as a Service (Dedicated Flex) | Notes and Links |
|---|---|---|---|---|
| Scalability | Up to 100 nodes cluster Up to 100 million MQTT connections per cluster | 1000 auto scale | 1000 - unlimited | Reaching 100M MQTT connections with EMQX 5.0 |
| Availability | Core-Replica cluster | Masterless cluster | Masterless cluster | |
| Reliability | Data persistence in RocksDB with highly available replication | Session persistence | Session persistence | Highly Reliable MQTT Data Persistence Based on RocksDB |
| Performance | 5M+ MQTT messages per second | 1000 MQTT messages per second | 5M+ MQTT messages per second | |
| Latency | 1~5 millisecond | 1~5 millisecond | 1~5 millisecond | |
| SLA | N/A | 99.9% uptime | Up to 99.99% uptime |
Clustering Architecture
| Clustering Architecture | Self-Hosted (Enterprise) | MQTT as a Service (Serverless) | MQTT as a Service (Dedicated Flex) | Notes and Links |
|---|---|---|---|---|
| Nodes of Cluster | 100+ | confidential | confidential | Large-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/A | N/A | Non-stop cluster maintenance |
| Autocluster Discoveries | ✅ | N/A | N/A | static: 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/A | N/A | Immediate repair of system vulnerabilities |
| Hot Patch | ✅ | N/A | N/A | Ensuring stable system operation |
| Overload Protection | ✅ | N/A | N/A | Improving system management efficiency |
| Multi-cluster Management | ✅ | N/A | N/A | Enhancing system stability |
| Cluster Metrics | ✅ | N/A | N/A |
MQTT and Connectivity
| MQTT & Connectivity | Self-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 | ✅ | ❌ | ❌ | |
| ExProto | ✅ | ❌ | ❌ | |
| OCPP | ✅ | ❌ | ❌ | |
| JT/808 | ✅ | ❌ | ✅ | |
| GB/T 32960 | ✅ | ❌ | ❌ |
Security
| Security | Self-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 roadmap | Detect and intercept frequent online and offline connections |
| 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 / Authorization | Self-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/A | N/A | MQTT 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 Integration | Self-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 Engine | Self-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
| Extensibility | Self-Hosted (Enterprise) | MQTT as a Service (Serverless) | MQTT as a Service (Dedicated Flex) | Notes and Links |
|---|---|---|---|---|
| Hooks | ✅ | N/A | N/A | Hooks |
| Plugins | ✅ | N/A | N/A | Plugins |
| Plugin Hot Loading | ✅ | N/A | N/A | |
| Plugin Hot Configuration | ✅ | N/A | N/A | |
| Gateways | ✅ | N/A | N/A | |
| ExHooks / gRPC | ✅ | N/A | N/A |
Operability
| Operability | Self-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 | ✅ HOCON | N/A | N/A | The HOCON format is simple and concise. |
| HTTP API | ✅ | ✅ | ✅ | |
| CLI | ✅ | ✅ | ✅ | |
| Config Hot Updates | ✅ | N/A | N/A | |
| Operational Auditing | ✅ | ✅ | ✅ |
Observability
| Observability | Self-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/A | N/A | |
| Alarm Alerts | ✅ | ✅ | ✅ | |
| Slow Subscription Monitoring | ✅ | ❌ | ✅ | |
| Topic Monitoring | ✅ | ❌ | ✅ | |
| Client Monitoring | ✅ | ✅ | ✅ | |
| Log Trace | ✅ | ✅ | ✅ |
Cloud Native and K8S
| Cloud Native & K8s | Self-Hosted (Enterprise) | MQTT as a Service (Serverless) | MQTT as a Service (Dedicated Flex) | Notes and Links |
|---|---|---|---|---|
| Docker | ✅ | N/A | N/A | emqx - Official Image | Docker Hub Docker |
| Kubernetes Operator | ✅ | N/A | N/A | EMQX Kubernetes Operator |
| Terraform | ✅ | N/A | N/A | EMQX Terraform |
Cloud Platform Availability
| Cloud Platform | Self-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 & SDKs | Self-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 Services | Self-Hosted (Enterprise) | MQTT as a Service (Serverless) | MQTT as a Service (Dedicated Flex) | Notes and Links |
|---|---|---|---|---|
| Technical Support | 5×8, 7×24 Global Support | 5×8 Global Support | 5×8, 7×24 Global Support | |
| Architecture Consulting | ✅ | ❌ | ✅ | |
| Project Integration | ✅ | ❌ | ❌ | |
| Custom Development | ✅ | ❌ | ❌ |