Feature Comparison
This page lists features supported across different deployment types in detail.
Core / Enterprise Features
| Features | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| MQTT 5.0 Broker | Complete MQTT 5.0 protocol implementation | |||
| MQTT over QUIC | Globally Poineering 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 | Higer system flexibility and utilization (Coming soon) | |||
| Cluster Linking | Seamless connection of devices and application data | |||
| Event History | Client fault diagnosis and behavioral audit | |||
| Message Queuing | Unified architecture for data transmission and analysis (Coming soon) | |||
| Stream Processing | Higher reliability and disaster recovery capabilities (Coming soon) | |||
| Data Persistence | 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 | Unified platform data transmission | |||
| Kafka Integration | Stream MQTT Data into Apache Kafka | |||
| Enterprise Data Integrations | 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 | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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
| MQTT & Connectivity | Self-Hosted | MQTT as a Service | Notes and Links | ||
|---|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | |||
| 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 | |||||
MQTT and Connectivity
| MQTT & Connectivity | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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 | ||||
| GBT32960 | ||||
Security
| Security | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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 | 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 | |||
| Black Duck Analysis | N/A | N/A | Secure and simplified authentication processes | |
Authentication and Authorization
| Authentication/Authorization | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| Username/Password | Password-Based Authentication | |||
| JWT | JWT Authentication | |||
| MQTT 5.0 Enhanced Authentication | N/A | N/A | MQTT 5.0 Enhanced Authentication | |
| LDAP Authentication | ||||
| PSK Authentication | Enable PSK Authentication | |||
| X.509 Certificates | ||||
| 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 | MQTT as a Service | ||
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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 | ||||
| InfluxDB | ||||
| Microsoft SQL Server | ||||
| MongoDB | ||||
| MySQL | ||||
| OpenTSDB | ||||
| Oracle Database | ||||
| PostgreSQL | ||||
| RabbitMQ | ||||
| Redis | ||||
| RocketMQ | ||||
| Snowflake | ||||
| Syskeeper | ||||
| TDengine | ||||
| TimeScaleDB | ||||
Rule Engine
| Rule Engine | Self-Hosted | MQTT as a Service | Notes and Links | ||
|---|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | |||
| 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 | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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 | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| Dashboard | EMQX dashboard is feature-rich. Configs can be hot udpated through dashboard. | |||
| Configuration | 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 | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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 | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| Docker | N/A | N/A | emqx - Official Image | Docker HubDocker | |
| Kubernetes Operator | N/A | N/A | EMQX Kubernetes Operator | |
| Terraform | N/A | N/A | EMQX Terraform | |
Cloud Platform Availability
| Cloud Platform | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| AWS Marketplace | EMQX is available on AWS Marketplace. AWS Marketplace: EMQX Enterprise on Ubuntu 20.04 | |||
| Azure Marketplace | ||||
| GCP Marketplace | ||||
| AWS | ||||
| Azure | ||||
| GCP | ||||
MQTT Tools and SDKs
| MQTT Tools & SDKs | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| 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 Load Testing | XMeter - The world’s #1 MQTT load testing tool | |||
| MQTT & JMeter | GitHub - emqx/mqtt-jmeter: MQTT JMeter Plugin | |||
| MQTT SDK for C | GitHub - nanomq/NanoSDK: 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 | |||
| MQTT QUIC Client | GitHub - emqx/quic: QUIC protocol for Erlang & Elixir | |||
Support Services
| Support Services | Self-Hosted | MQTT as a Service | Notes and Links | |
|---|---|---|---|---|
| EMQX Enterprise | EMQX Serverless | EMQX Dedicated | ||
| Technical Support | 5*8, 7*24 Global Support | 5*8 Global Support | 5*8, 7*24 Global Support | |
| Architecture Consulting | ||||
| Project Integration | ||||
| Custom Development | ||||