Feature Comparison
This page lists features supported across different deployment types in detail.
Core Features
Features | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
MQTT 5.0 Broker | |||||
MQTT over QUIC | In development for Cloud | ||||
MQTT Add-ons | Shared subscription Exclusive subscription Delayed publish Auto-subscription Topic rewrite | ||||
Multi-protocol Gateways | |||||
Geo-replication | In Product Roadmap | ||||
Data Persistence | N/A | N/A | Coming in EMQX 5.4 (preview function) Highly Reliable MQTT Data Persistence Based on RocksDB | ||
Schema Registry | Schema Registry | ||||
Message Codec | JSON Avro Protobuf Custom codec (HTTP/gRPC) | ||||
Rule Engine | SQL-based built-in Rule Engine | ||||
Flow Designer | Flow Designer | ||||
File Transfer | |||||
Kafka Integration | Stream MQTT Data into Apache Kafka | ||||
Enterprise Integrations | Integration with Everything via Rule Engine and Data Bridge | ||||
Troubleshooting | Log Trace Slow Subscriptions | ||||
Cloud-Native & K8s | N/A | N/A | Deployment Options | ||
Edge Computing | Neuron NanoMQ |
Scalability and Performance
Scalability/Performance | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Scalability | Up to 100M MQTT connections per cluster | Up to 100M MQTT connections per cluster | 1000 auto scale | 1000 - unlimited | Reaching 100M MQTT connections with EMQX 5.0 |
Availability | Masterless cluster | Masterless cluster | Masterless cluster | Masterless cluster | |
Reliability | Data storage in memory | Data persistence in RocksDB | N/A | N/A | Highly Reliable MQTT Data Persistence Based on RocksDB |
Performance | 5M+ MQTT messages per second | 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 | 1~5 millisecond | |
SLA | N/A | N/A | 99.9% uptime | Up to 99.99% uptime |
Clustering Architecture
Clustering Architecture | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Nodes of Cluster | 20+ | 20+ | confidential | confidential | |
Elastic and resilient scaling at runtime | |||||
Autoscaling | |||||
Consistency | Strong consistency | ||||
Transaction | |||||
Network Split Recovery | |||||
Node Evacuation & Cluster Rebalance | N/A | N/A | |||
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 | |||
Hot Patch | N/A | N/A | |||
Overload Protection | N/A | N/A | |||
Multi-cluster Management | N/A | N/A | |||
Cluster Metrics | N/A | N/A |
MQTT and Connectivity
MQTT & Connectivity | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 | ||||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
TLS/SSL | EMQX Open Source and Enterprise: TLS 1.1, 1.2, 1.3 | ||||
OCSP Stapling | |||||
Audit Logs | |||||
SQL Injections Protection | |||||
Black Duck Analysis | N/A | N/A | Partner with Synopsis |
Authentication and Authorization
Authentication/Authorization | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 | |||||
SSO | Single Sign-On | ||||
RBAC | Role-Based Access Control | ||||
Fine-grained Access Control | |||||
Authentication Database Backends | |||||
ACL Database Backends |
Data Integration
Data Integration | Self-Hosted | MQTT as a Service | |||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Rule Engine | |||||
Data Bridge | |||||
MQTT Bridge | |||||
Webhook/HTTP Server | |||||
Apache Kafka/Confluent | |||||
Apache IoTDB | |||||
Apache Pulsar | |||||
AWS Kinesis | |||||
Azure Event Hubs | |||||
Cassandra | |||||
ClickHouse | |||||
DynamoDB | |||||
GCP PubSub | |||||
GreptimeDB | |||||
HStreamDB | |||||
InfluxDB | |||||
Microsoft SQL Server | |||||
MongoDB | |||||
MySQL | |||||
OpenTSDB | |||||
Oracle Database | |||||
PostgreSQL | |||||
RabbitMQ | |||||
Redis | |||||
RocketMQ | |||||
TDengine | |||||
TimeScaleDB | |||||
SAP Event Mesh |
Rule Engine | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Event Trigger | MQTT Events | ||||
Built-in Functions | Functions available in SQL statements | ||||
jq Functions | |||||
Schema Registry | |||||
JSON Codec | |||||
Avro Codec | |||||
ProtoBuf Codec |
Extensibility
Extensibility | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Hooks | N/A | N/A | Hooks | ||
Plugins | N/A | N/A | Plugins | ||
Plugin Hot-loading | 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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Dashboard | Monitor clusters in real time with an elegant dashboard | ||||
Metrics | Node metrics | ||||
Grafana | |||||
Cluster Metrics | N/A | N/A | |||
Alarm Alerts | |||||
Slow Subscription Monitoring | |||||
Topic Monitoring | |||||
Client Monitoring | |||||
Prometheus | |||||
Datadog | Coming in EMQX Enterprise 5.4 |
Cloud Native and K8S
Cloud Native & K8s | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Technical Support | Community & Forum | 5*8, 7*24 Global Support | 5*8 Global Support | 5*8, 7*24 Global Support | |
Architecture Consulting | |||||
Project Integration | |||||
Custom Development |