# EMQ X 消息服务器功能列表完整的 MQTT V3.1/V3.1.1 及 V5.0 协议规范支持QoS0, QoS1, QoS2 消息支持
持久会话与离线消息支持
Retained 消息支持
Last Will 消息支持
TCP/SSL 连接支持
MQTT/WebSocket/SSL 支持
HTTP 消息发布接口支持
$SYS/# 系统主题支持
客户端在线状态查询与订阅支持
客户端 ID 或 IP 地址认证支持
用户名密码认证支持
LDAP、Redis、MySQL、PostgreSQL、MongoDB、HTTP 认证集成
浏览器 Cookie 认证
基于客户端 ID、IP 地址、用户名的访问控制 (ACL)
多服务器节点集群 (Cluster)
支持 manual、mcast、dns、etcd、k8s 等多种集群发现方式
网络分区自动愈合
消息速率限制
连接速率限制
按分区配置节点
多服务器节点桥接 (Bridge)
MQTT Broker 桥接支持
Stomp 协议支持
MQTT-SN 协议支持
CoAP 协议支持
LwM2M 协议支持
Stomp/SockJS 支持
延时 Publish ($delay/topic)
Flapping 检测
黑名单支持
共享订阅 ($share/:group/topic)
TLS/PSK 支持
规则引擎空动作 (调试)
消息重新发布
桥接数据到 MQTT Broker
检查 (调试)
发送数据到 Web 服务以下是 EMQ X Enterprise 特有功能Scalable RPC 架构: 分离 Erlang 自身的集群通道与 EMQ X 节点间的数据通道
数据持久化Redis 存储订阅关系、设备在线状态、MQTT 消息、保留消息,发布 SUB/UNSUB 事件
MySQL 存储订阅关系、设备在线状态、MQTT 消息、保留消息
PostgreSQL 存储订阅关系、设备在线状态、MQTT 消息、保留消息
MongoDB 存储订阅关系、设备在线状态、MQTT 消息、保留消息
Cassandra 存储订阅关系、设备在线状态、MQTT 消息、保留消息
DynamoDB 存储订阅关系、设备在线状态、MQTT 消息、保留消息
InfluxDB 存储 MQTT 时序消息
OpenTDSB 存储 MQTT 时序消息
TimescaleDB 存储 MQTT 时序消息
消息桥接Kafka 桥接:EMQ X 内置 Bridge 直接转发 MQTT 消息、设备上下线事件到 Kafka
RabbitMQ 桥接:EMQ X 内置 Bridge 直接转发 MQTT 消息、设备上下线事件到 RabbitMQ
Pulsar 桥接:EMQ X 内置 Bridge 直接转发 MQTT 消息、设备上下线事件到 Pulsar
RocketMQ 桥接:EMQ X 内置 Bridge 直接转发 MQTT 消息、设备上下线事件到 RocketMQ
规则引擎消息编解码
桥接数据到 Kafka
桥接数据到 RabbitMQ
桥接数据到 RocketMQ
桥接数据到 Pulsar
保存数据到 PostgreSQL
保存数据到 MySQL
保存数据到 OpenTSDB
保存数据到 Redis
保存数据到 DynamoDB
保存数据到 MongoDB
保存数据到 InfluxDB
保存数据到 Timescale
保存数据到 Cassandra
保存数据到 ClickHouse
保存数据到 TDengine
离线消息保存到 Redis
离线消息保存到 MySQL
离线消息保存到 PostgreSQL
离线消息保存到 Cassandra
离线消息保存到 MongoDB
从 Redis 中获取订阅关系
从 MySQL 中获取订阅关系
从 PostgreSQL 中获取订阅关系
从 Cassandra 中获取订阅关系
从 MongoDB 中获取订阅关系
Schema Registry:将 EMQ X 的事件、消息 提供了数据编解码能力
# 功能说明
# 消息数据存储
EMQ X 企业版支持存储订阅关系、MQTT 消息、设备状态到 Redis、MySQL、PostgreSQL、MongoDB、Cassandra、TimescaleDB、InfluxDB、DynamoDB、OpenTDSB 数据库:
数据存储相关配置,详见"数据存储"章节。
# 消息桥接转发
EMQ X 企业版支持直接转发 MQTT 消息到 RabbitMQ、Kafka、Pulsar、RocketMQ、MQTT Broker,可作为百万级的物联网接入服务器(IoT Hub):
# 规则引擎
EMQ X 规则引擎可以灵活地处理消息和事件。
EMQ X 企业版规则引擎支持消息重新发布;桥接数据到 Kafka、Pulsar、RocketMQ、RabbitMQ、MQTT Broker;保存数据到 MySQL、PostgreSQL、Redis、MongoDB、DynamoDB、Cassandra、InfluxDB、OpenTSDB、TimescaleDB;发送数据到 WebServer:
规则引擎相关配置,详见"规则引擎"章节。
# 编解码
Schema Registry 目前可支持三种格式的编解码:Avro(opens new window),Protobuf(opens new window),以及自定义编码。其中 Avro 和 Protobuf 是依赖 Schema 的数据格式,编码后的数据为二进制,解码后为 Map 格式 。解码后的数据可直接被规则引擎和其他插件使用。用户自定义的 (3rd-party) 编解码服务通过 HTTP 或 TCP 回调的方式,进行更加贴近业务需求的编解码。
编解码相关配置,详见"编解码"章节。