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 (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 | 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 | ||||
GBT32960 |
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
Data Integration | Self-Hosted | MQTT as a Service | |
---|---|---|---|
EMQX Enterprise | EMQX Serverless | EMQX Dedicated | |
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 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 |
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 |