产品概览
EMQX (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。
MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。
EMQX 设计目标是实现高可靠,并支持承载海量物联网终端的MQTT连接,支持在海量物联网设备间低延时消息路由:
- 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。
- 分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
- 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
- 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有协议支持。
建议您在使用前仔细阅读一遍下面列出的文档,未列出的其他文档可以按需选择查看:
开始使用
认证鉴权
- 认证简介:选择内置插件、外部数据库、JWT 或者 HTTP 服务作为认证数据源,验证客户端连接合法性。
- 发布订阅 ACL:选择内置插件、外部数据库、或者 HTTP 服务作为 ACL 数据源,验证客户端发布订阅权限。
- 内置 ACL:内置 ACL 可能会影响到重要功能,使用前请详细了解。
FAQ 常见问题解答
FAQ 常见问题解答定期收集整理 EMQX 用户常见问题和经常遇到的错误,如 Topic 数量限制、开源版/企业版区别,企业服务收费等;开源版如何存储数据等。
社区交流
- 资源:社区交流,包含社区热门教程、项目展示等资源。
HTTP API
HTTP API 是物联网平台开发与 EMQX 运维中频繁使用的功能,HTTP API 可以实现与外部系统的集成,例如查询并管理客户端信息、代理订阅、发布消息和创建规则等。
- HTTP API:包含 HTTP API 接入点、接入认证方式。
- 基本信息:获取 EMQX 版本、运行状态等基本信息。
- 节点:获取 EMQX 节点信息。
- 客户端:查看在线客户端信息,支持踢出客户端。
- 订阅信息:查看订阅主题列表与订阅关系。
- 路由:查看已订阅的主题。
- 消息发布:通过 HTTP 调用 EMQX 发布 MQTT 消息,应用程序与客户端通信可靠的方式。
- 主题订阅:动态管理客户端订阅列表,无需客户端主动发起订阅/取消订阅。
- 插件:插件的状态管理,启动、停止操作。
其他更多 API 请通过左侧目录查看。
规则引擎
规则引擎实现了消息数据与通过规则引擎能够筛选、处理、转发/存储消息到外部数据源,包括关系数据库、消息队列、Web 服务等等。
数据存储
EMQX 企业版特有功能,数据存储将客户端上下线状态,订阅关系,离线消息、消息内容,消息抵达后发送的消息回执等操作记录到各种数据库中。数据存储包含运行时数据与消息数据,能够在服务崩溃、客户端异常离线后仍然保留数据。
消息桥接
EMQX 企业版桥接转发 MQTT 消息到 Kafka、RabbitMQ、Pulsar、RocketMQ、MQTT Broker 或其他 EMQX 节点。
- MQTT 桥接:实现跨地域、跨集群部署。
- RPC 桥接
- Kafka 桥接
- RabbitMQ 桥接
- Pulsar 桥接
- RocketMQ 桥接
运维部署
包含官方使用指南、最佳实践等信息。