功能对比
本页详细列出了不同部署模式所支持的具体功能对比。
核心 / 企业功能
功能 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
MQTT 5.0 Broker | 完整实现 MQTT 5.0 协议 | ||||
MQTT over QUIC | 全球领先支持 | ||||
MQTT 扩展 | 共享订阅 排他订阅 延迟发布 自动订阅 主题重写 更多个性化选项 | ||||
多协议网关 | 更多行业设备接入 | ||||
多租户 | 更高的系统灵活性和利用率 (即将发布) | ||||
集群连接 | 设备和应用数据的无缝连接 (即将发布) | ||||
事件历史 | 客户端故障诊断和行为审计 | ||||
消息队列 | 数据传输和分析的统一架构 (即将发布) | ||||
流处理 | 更高的可靠性和灾难恢复能力 (即将发布) | ||||
数据持久化 | 内置的 RocksDB 数据库或外部数据库 | N/A | N/A | 提高了稳定性和可靠性 | |
Schema Registry | 编解码保证数据一致性和可兼容性 | ||||
消息编解码 | 灵活地消息格式转换:JSON Avro Protobuf Custom codec (HTTP/gRPC) | ||||
消息验证 | 已规划 | 确保消息的完整性和合法性 | |||
规则引擎 | 基于 SQL 的内置规则引擎 | ||||
Flow 设计器 | 已规划 | 更简便的数据集成编排 | |||
文件传输 | 已规划 | 统一平台数据传输 | |||
Kafka 集成 | 将 MQTT 数据传输到 Apache Kafka | ||||
企业级数据集成 | 40+ | 40+ | 提升业务开发和发布速度 | ||
故障排查 | 日志追踪 (Trace) 慢订阅统计 | ||||
Cloud-Native & K8s | N/A | N/A | 降低系统部署和管理成本 | ||
边缘计算 | 降低数据传输延迟和成本 Neuron NanoMQ |
可扩展性与性能
可扩展性/性能 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
可扩展性 | 支持最多 3 个节点的集群 在生产环境中支持最多 100,000 个连接 | 支持最多 100 个节点的集群 每个集群最多支持 1 亿个 MQTT 连接 | 自动扩展,最多 1,000 条连接 | 无限制 | 高度可扩展,EMQX 5.0 达成 1 亿 MQTT 连接 |
高可用性 | 无主集群 | 核心-副本集群 | 无主集群 | 无主集群 | |
可靠性 | 会话持久化 | RocksDB 消息持久化,具备高可用副本 | 会话持久化 | 会话持久化 | 基于 RocksDB 实现高可靠、低时延的 MQTT 数据持久化 |
吞吐量 | 10 万 MQTT 消息每秒 | 500 万+ MQTT 消息每秒 | 1000 MQTT 消息每秒 | 500 万+ MQTT 消息每秒 | |
延迟 | 1~5 毫秒 | 1~5 毫秒 | 1~5 毫秒 | 1~5 毫秒 | |
SLA 等级 | N/A | N/A | 99.9% 正常运行时间 | 最高可达 99.99% 正常运行时间 |
集群架构
集群架构 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
集群节点数 | 最多3个 | 100+ | 保密信息 | 保密信息 | |
运行时弹性和韧性扩展 | 更高系统稳定性和资源利用率 | ||||
自动扩展 | |||||
高一致性 | |||||
事务处理 | 确保数据操作的原子性和可靠性 | ||||
网络分区恢复 | 集群故障自动修复 | ||||
节点疏散 & 集群重平衡 | N/A | N/A | 不停机集群维护 | ||
自动集群发现 | N/A | N/A | static: 静态节点列表自动集群 mcast: 采用 UDP 组播模式的自动群集 dns: DNS A 记录自动集群 etcd: Discovery via etcd k8s: Kubernetes 服务自动集群 | ||
零停机/热升级 | N/A | N/A | 系统漏洞的即时修复 | ||
热补丁 | N/A | N/A | 确保稳定的系统操作 | ||
过载保护 | N/A | N/A | 提高系统管理效率 | ||
多集群管理 | N/A | N/A | 提高系统稳定性 | ||
集群指标 | N/A | N/A |
MQTT 与其他连接协议支持
MQTT & 其他连接协议 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
MQTT 3.x | |||||
MQTT 5.0 | |||||
MQTT 保留消息 | |||||
MQTT over TCP | |||||
MQTT over TLS | |||||
MQTT over WebSocket | |||||
MQTT over QUIC | EMQX 是现在全球唯一支持 QUIC 协议的 MQTT 消息服务器。 | ||||
LB (代理协议) | Proxy protocol v1, v2 | ||||
LB (Custom) | GmSSL 平滑的连接迁移 | ||||
IPv6 支持 | |||||
多协议网关 | |||||
MQTT-SN | |||||
STOMP | |||||
CoAP | |||||
LwM2M | |||||
ExProto | |||||
OCPP | |||||
JT/808 | |||||
GBT32960 |
安全
安全 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
TLS/SSL | 保障数据传输安全: TLS 1.1, 1.2, 1.3 | ||||
QUIC | 增强弱网络和移动网络数据传输的效率 | ||||
OCSP Stapling | 提供更灵活的安全措施 | ||||
连接抖动 | 规划中 | 检测并拦截频繁的上下线连接 | |||
审计日志 | 支持重要操作的审计追踪 | ||||
Dashboard 单点登录(SSO) | 安全并简便的认证流程 | ||||
Dashboard/REST API 基于角色的访问控制 (RBAC) | 最小化权限以确保系统安全 | ||||
黑鸭分析 | N/A | N/A | 安全并简便的认证流程 |
认证与授权
认证/授权 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
用户名/密码 | 密码认证 | ||||
JWT | JWT 认证 | ||||
MQTT 5.0 增强认证 | N/A | N/A | MQTT 5.0 增强认证 | ||
LDAP 认证 | 已规划 | ||||
PSK 验证 | 启用 PSK 验证 | ||||
X.509 证书 | 由 EMQX Cloud 管理 | ||||
细粒度访问控制 | |||||
认证数据源 | |||||
ACL 数据源 |
数据集成
数据集成 | 自托管模式 | 云服务模式 | ||
---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | |
MQTT 服务 | ||||
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 |
规则引擎
规则引擎 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
编解码 | 确保消息格式一致性 | ||||
JSON 编解码 | |||||
Avro 编解码 | |||||
ProtoBuf 编解码 | |||||
Sparkplug B Codec | |||||
JSON Schema 验证 | |||||
Avro 消息验证 | |||||
ProtoBuf 消息验证 | |||||
内置 SQL 函数 | 丰富的内置 SQL 函数,支持自定义扩展 | ||||
jq 函数 | 高效的 JSON 数据处理 | ||||
客户端事件处理 | 客户端事件,事件驱动的业务开发 |
可扩展性
可扩展性 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
钩子 | N/A | N/A | 钩子 | ||
插件 | N/A | N/A | 插件 | ||
插件热加载 | N/A | N/A | |||
插件热配置 | N/A | N/A | |||
网关 | N/A | N/A | |||
ExHooks/gRPC | N/A | N/A |
可操作性
可操作性 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
Dashboard | EMQX Dashboard 具备丰富的功能。 可以通过 Dashboard 进行配置的热更新。 | ||||
功能配置 | HOCON | HOCON | N/A | N/A | 简洁明了的 HOCON 格式。 |
HTTP API | |||||
CLI | |||||
配置热升级 | N/A | N/A | |||
运行审计 |
可观测性
可观测性 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
Dashboard | 通过优雅的 Dashboard 实时监控集群。 | ||||
单节点指标 | |||||
Grafana | |||||
Prometheus | |||||
Datadog | 已规划 | ||||
OpenTelemetry | 已规划 | ||||
集群指标 | N/A | N/A | |||
告警 | |||||
慢订阅监控 | 已规划 | ||||
主题监控 | 已规划 | ||||
客户端监控 | |||||
日志追踪 |
云原生与 K8S
云原生 & K8s | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
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 |
云平台支持
云平台 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
AWS Marketplace | EMQX 已上架 AWS 市场。 AWS Marketplace: EMQX Enterprise on Ubuntu 20.04 | ||||
Azure Marketplace | |||||
GCP Marketplace | |||||
阿里云 | |||||
华为云 | 规划中 | ||||
腾讯云 | 规划中 |
MQTT 开发工具与 SDKs
MQTT 开发工具 & SDKs | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
MQTTX 桌面版 | MQTTX - 学习 MQTT 最好的工具 MQTTX: 你的全功能 MQTT 客户端工具 | ||||
MQTTX 命令行版 | MQTTX CLI: 强大易用的 MQTT 5.0 命令行工具 | ||||
MQTTX Web 版 | 功能丰富并且简单易用 MQTTX Web: 易用的 MQTT 5.0 Websocket 客户端工具 | ||||
MQTT 基准测试工具 | GitHub - emqx/emqtt-bench: 用 Erlang 编写的轻量级 MQTT 基准测试工具。 | ||||
MQTT 负载测试工具 | XMeter | XMeter - 世界第一的 MQTT 负载测试工具。 | |||
MQTT & JMeter | JMeter 插件 | XMeter | GitHub - emqx/mqtt-jmeter: MQTT JMeter 插件 | ||
MQTT SDK for C | NanoSDK | NanoSDK | GitHub - nanomq/NanoSDK: NanoSDK - 支持 QUIC 的 MQTT 5.0 兼容 SDK,采用 NNG 风格。 | ||
MQTT Erlang SDK | GitHub - emqx/emqtt: Erlang MQTT 5.0 客户端 | ||||
MQTT iOS SDK | GitHub - emqx/CocoaMQTT: 为 iOS 和 macOS 编写的 MQTT 5.0 客户端库,使用 Swift 语言。 | ||||
MQTT QUIC 客户端 | GitHub - emqx/quic: 用于 Erlang 和 Elixir 的 QUIC 协议。 |
客户支持服务
客户支持 | 自托管模式 | 云服务模式 | 备注和链接 | ||
---|---|---|---|---|---|
EMQX 开源版 | EMQX 企业版 | EMQX Cloud Serverless | EMQX Cloud 专有版 | ||
技术支持 | 社区和论坛 | 5*8, 7*24 全球支持 | 5*8 全球支持 | 5*8, 7*24 全球支持 | |
架构咨询 | |||||
项目集成 | |||||
定制开发 |