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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 (Coming soon) | ||||
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 | 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 | In product roadmap | Ensuring integrity and legality of messages | |||
Rule Engine | SQL-based built-in Rule Engine and real-time data processing | ||||
Flow Designer | In product roadmap | 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 | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Scalability | Up to 3 nodes cluster Up to 100,000 connections in production | 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 | Masterless cluster | Core-Replica cluster | Masterless cluster | Masterless cluster | |
Reliability | Session persistence | Data persistence in RocksDB with highly available replication | Session persistence | Session persistence | Highly Reliable MQTT Data Persistence Based on RocksDB |
Performance | 100,000 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 | No more than 3 | 100+ | confidential | confidential | Large-scale clusters |
Elastic and resilient scaling at runtime | Higer 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 | 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 | ||||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 | ||||
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 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 | 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
Data Integration | Self-Hosted | MQTT as a Service | ||
---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | |
MQTT Bridge | ||||
Webhook/HTTP Server | ||||
Apache Kafka/Confluent | ||||
Apache IoTDB | ||||
Apache Pulsar | ||||
AWS Kinesis | ||||
AWS S3 | ||||
Azure Event Hubs | ||||
Cassandra | ||||
ClickHouse | ||||
DynamoDB | ||||
Elasticsearch | ||||
GCP PubSub | ||||
GreptimeDB | ||||
HStreamDB | ||||
InfluxDB | ||||
Microsoft SQL Server | ||||
MongoDB | ||||
MySQL | ||||
OpenTSDB | ||||
Oracle Database | ||||
PostgreSQL | ||||
RabbitMQ | ||||
Redis | ||||
RocketMQ | ||||
Syskeeper | ||||
TDengine | ||||
TimeScaleDB |
Rule Engine
Rule Engine | Self-Hosted | MQTT as a Service | Notes and Links | ||
---|---|---|---|---|---|
EMQX Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
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 |
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 | |||
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 Open Source | EMQX Enterprise | EMQX Cloud Serverless | EMQX Dedicated Cloud | ||
Dashboard | EMQX dashboard is feature-rich. Configs can be hot udpated through dashboard. | ||||
Configuration | HOCON | 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 | 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 | |||||
Prometheus | |||||
Datadog | In product roadmap | ||||
OpenTelemetry | In product roadmap | ||||
Cluster Metrics | N/A | N/A | |||
Alarm Alerts | |||||
Slow Subscription Monitoring | In product roadmap | ||||
Topic Monitoring | In product roadmap | ||||
Client Monitoring | |||||
Log Trace |
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 | XMeter - The world’s #1 MQTT load testing tool | |||
MQTT & JMeter | JMeter Plugin | XMeter | GitHub - emqx/mqtt-jmeter: MQTT JMeter Plugin | ||
MQTT SDK for C | NanoSDK | NanoSDK | 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 |