EMQX 是一款大规模分布式物联网 MQTT 服务器(也称为 MQTT Broker
)
介绍
EMQX 是一款全球下载量超千万的大规模分布式物联网 MQTT 服务器,单集群支持 1 亿物联网设备连接,消息分发时延低于 1 毫秒。为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,助力企业构建关键业务的 IoT 平台与应用。
部署
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
端口说明:
端口 | 协议 | 描述 |
---|
1883 | TCP | MQTT over TCP 监听器端口,主要用于未加密的 MQTT 连接。 |
8883 | TCP | MQTT over SSL/TLS 监听器端口,用于加密的 MQTT 连接。 |
8083 | TCP | MQTT over WebSocket 监听器端口,使 MQTT 能通过 WebSocket 进行通信。 |
8084 | TCP | MQTT over WSS (WebSocket over SSL) 监听器端口,提供加密的 WebSocket 连接。 |
18083 | HTTP | EMQX Dashboard 和 REST API 端口,用于管理控制台和 API 接口。 |
4370 | TCP | Erlang 分布式传输端口,根据节点名称不同实际端口可能是 `BasePort (4370) + Offset。 |
5370 | TCP | 集群 RPC 端口(在 Docker 环境下为 5369),根据节点名称不同实际端口可能是 BasePort (5370) + Offset 。 |
MQTTX 部署
- MQTT X 是一款开源的跨平台桌面客户端,它简单易用且提供全面的 MQTT 5.0 功能、特性测试,可运行在 macOS, Linux 和 Windows 上,并提供 web 界面
client
# mac
brew install emqx/mqttx/mqttx-cli
# linux
curl -LO https://www.emqx.com/en/downloads/MQTTX/v1.10.1/mqttx-cli-linux-x64
sudo install ./mqttx-cli-linux-x64 /usr/local/bin/mqttx
# 连接
mqttx conn -h 'broker.emqx.io' -p 1883 -u 'admin' -P 'public'
# 订阅
mqttx sub -t 'hello' -h 'broker.emqx.io' -p 1883
# 发布单个消息
mqttx pub -t 'hello' -h 'broker.emqx.io' -p 1883 -m '来自MQTTX CLI的消息'
# 发布多个消息(多行)
mqttx pub -t 'hello' -h 'broker.emqx.io' -p 1883 -s -M