EMQX

emqx

智能家居 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
emqx 10028 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

The most scalable and reliable MQTT broker for AI, IoT, IIoT and connected vehicles


EMQX 是全球最具可扩展性和可靠性的 MQTT 消息平台,专为构建高性能、高可靠、高安全的物联网数据基础设施而设计。它全面支持 MQTT v5.0、v3.1.1 和 v3.1 协议,并通过网关机制兼容 MQTT-SN、CoAP、LwM2M 以及基于 QUIC 的 MQTT 传输,能够满足从传统物联网到车联网、工业物联网(IIoT)和智慧城市等多样化场景的连接需求。EMQX 的核心优势在于其惊人的扩展能力:单个集群即可支持超过 1 亿个并发 MQTT 客户端连接,并以亚毫秒级延迟处理每秒数百万条消息。其无主节点(Masterless)的分布式架构确保了高可用性和容错性,而集群链接(Cluster Linking)功能则能实现跨地域的无缝通信。在数据处理层面,EMQX 内置了强大的基于 SQL 的规则引擎,能够对实时数据进行过滤、转换和富化,并支持与超过 50 种后端系统(如 Kafka、RabbitMQ、PostgreSQL、MongoDB、InfluxDB 以及 AWS、GCP、Azure 等云服务)进行无缝数据桥接。此外,EMQX 还提供了消息队列功能,通过持久化存储、TTL 和大小限制等机制,实现了可靠的异步解耦通信;其零代码的 Flow Designer 允许用户通过拖拽方式编排实时数据管道;Smart Data Hub 则提供了模式注册、验证和消息转换能力,确保数据的一致性和完整性。从 v5.9.0 版本开始,EMQX 将此前开源版和企业版的所有功能统一为一个单一版本,采用 BSL 1.1 许可证。无论是需要连接海量设备、处理高吞吐量消息,还是构建复杂的物联网数据集成与处理管道,EMQX 都是一个经过大规模生产验证的理想选择。

标签

项目特点

**全面的协议支持**:完整支持 MQTT v5.0、v3.1.1 和 v3.1,以及 MQTT over QUIC、LwM2M、CoAP、MQTT-SN 等协议。
**大规模可扩展性与高可用性**:单个集群可连接超过 1 亿个并发 MQTT 客户端,每秒处理数百万条消息,延迟低于毫秒级。支持无主集群以实现高可用和容错。
**强大的规则引擎与数据集成**:基于 SQL 的规则引擎可处理、转换、丰富和过滤流数据。与 50 多种云服务和企业系统无缝集成,包括 Kafka、RabbitMQ、PostgreSQL、MySQL、MongoDB、Redis 等。
**消息队列**:为异步和解耦通信提供可靠的消息队列,支持持久化消息存储、可配置的队列生命周期、TTL 和大小限制。
**流程设计器**:拖放式画布,零代码编排实时数据管道,支持规则、集成和 AI 任务节点。
**智能数据中心**:提供模式注册表、模式验证和消息转换功能,确保数据一致性和完整性。
**AI 处理与集成**:原生 AI 处理能力,支持与流行 AI 服务集成,可在边缘或云端进行 AI 驱动的决策。
**强大的安全性**:支持 TLS/SSL 和 WSS 安全连接,灵活的认证机制(用户名/密码、JWT、PSK、X.509 证书等),以及细粒度的 ACL 访问控制。
**高级可观测性与管理**:与 Prometheus、Grafana、Datadog 和 OpenTelemetry 集成,提供详细的日志和追踪功能,以及用户友好的 Dashboard 和丰富的 HTTP API。
**可扩展性**:插件架构和钩子机制,可扩展功能和自定义行为。

技术规格

支持的 MQTT 版本
其他协议支持
最大并发客户端数
消息处理能力
集群模式
数据集成
安全
监控集成
管理界面
许可证

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
EMQX 二进制包 1 从官方下载或从源码构建
Docker (可选) 1 用于 Docker 部署
Kubernetes (可选) 1 用于集群部署
服务器/虚拟机 1+ 根据负载需求配置

所需工具

工具用途是否必需
Erlang/OTP 编译和运行 EMQX ▢ 推荐
Make 构建 EMQX ▢ 推荐
Docker 容器化部署 ▢ 推荐
Kubernetes 集群部署和管理 ▢ 推荐
MQTTX MQTT 客户端测试工具 ▢ 推荐

能力画像

记忆与知识检索
逻辑推演
表达与交流
感知与观察
数理与计算
动手与操作
狂热与坚持
创造与创新

视频

UC5FjR77ErAxvZENEWzQaO5Q

所需技能

🔧 **动手能力**:需要能够部署和管理服务器或容器环境,配置网络和安全设置,以及监控和维护 EMQX 集群。 💻 **编程能力**:需要具备 Erlang/OTP 基础知识(从源码构建时),以及使用 HTTP API 和规则引擎进行集成开发的能力。熟悉 MQTT 协议和物联网应用开发。 ⚡ **电子电路**:不涉及硬件电路。

适用场景

**物联网设备连接与管理**:连接数百万台 IoT 设备,实现设备数据采集、命令下发和远程管理。
**工业物联网 (IIoT)**:在工业环境中实现设备间实时通信和数据集成,支持 SCADA、PLC 等系统。
**车联网**:为联网车辆提供高可靠、低延迟的消息传递,支持车辆状态监控、OTA 更新和 V2X 通信。
**智慧城市**:支撑智慧城市中的传感器网络、公共设施监控和城市数据平台。
**AI 数据处理**:将 IoT 数据流与 AI 模型集成,实现实时分析和智能决策。
**消息队列与异步通信**:作为可靠的消息中间件,实现微服务或系统间的异步解耦通信。