更新于 2026年9月5日

MQTT 协议与接入地址

了解支持的 MQTT 版本、传输方式、QoS、保留消息及浏览器 Console 的能力边界。

RunMQTT 为原生 MQTT 客户端和浏览器 WebSocket 客户端提供安全接入地址。

接入地址

传输方式地址格式典型用途
MQTT over TLSmqtts://<broker>.tls-broker.runmqtt.com:8883设备、网关和后端服务
MQTT over secure WebSocketwss://<broker>.tls-broker.runmqtt.com/mqtt浏览器应用及只允许 WebSocket 的网络

应用连接应使用 TLS 或 WSS,即使连接详情还列出了 TCP 地址。复制 RunMQTT 显示的安全主机名,确保可以验证证书。原生客户端根据 API 填写主机名与端口,或完整 mqtts:// URL;浏览器客户端需要包含 /mqtt 的完整 WSS 地址。

公共测试端点

公共 MQTT Broker是托管接入契约之外的明确例外。它的连接参数会公开共享 TCP 1883、TLS 8883、测试凭证、复制操作和 Mosquitto TLS 示例。即使提供明文测试监听器,也应优先使用 TLS 完成客户端验证。

公共端点仅用于测试,不提供私有命名空间、持久状态或 SLA。不要发送密钥或任何接近生产的数据。需要稳定设备身份、Topic 策略和真实工作负载时,应使用账户下的私有托管 Broker。

MQTT 版本

托管 Broker 链路支持 MQTT 3.1.1 和 MQTT 5.0。MQTT 5 包含标准确认原因码,以及常用的 Publish Properties,例如 Content Type、User Property、Response Topic、Correlation Data 和消息过期时间。

内置浏览器 Console 目前有意保持在 MQTT 3.1.1。它用于验证凭证、地址路由和基础 Topic 权限,不是完整的 MQTT 5 协议调试器。

套餐能力对照

能力StarterGrowthScale
MQTT 3.1.1 客户端包含包含包含
MQTT 5 客户端包含包含包含
QoS 0 和 QoS 1包含包含包含
QoS 2包含包含
遗嘱消息包含包含包含
保留消息包含包含
TLS 和 WSS包含包含包含

如何选择 QoS

  • QoS 0:适合可以被后续数据替代的高频遥测,协议开销最低。
  • QoS 1:适合必须送达、且业务可以幂等处理的事件。
  • QoS 2:适用于 Growth 和 Scale 中确实需要 MQTT 协议边界 Exactly Once 的工作负载。

QoS 不能替代业务幂等。重连、下游重试和外部系统仍可能造成业务操作重复。

保留消息与遗嘱消息

保留消息会保存某个 Topic 的最新 Payload,并在新订阅建立时立即投递,Growth 和 Scale 可用。遗嘱消息用于在客户端未正常关闭连接时通知订阅方,所有套餐均包含。

连接参数

参数首次验证建议
用户名和密码从设备详情复制,不需要签名
Client ID并发客户端各不相同;恢复会话时保持固定
Keep Alive首次测试使用 60 秒
QoS / retain首次测试使用 QoS 1,retain 为 false
TLS 校验保持开启,使用系统信任库和 RunMQTT 主机名

终端命令见快速入门,程序收发见 客户端接入示例。MQTT 5 客户端应遵守实际连接的 Broker 声明的能力与限制,不能假定所有 MQTT 5 选项都可用。

实际使用投递能力

  • 共享订阅:语法、消费者分组和双消费者验收。
  • 会话与消息投递:离线恢复、保留内容清理、已观察到的保留标志限制和遗嘱验证。
  • 故障排查:认证、权限失败、传输检查和容量边界。

QoS 在各段投递链路分别协商。发布 QoS 1 不会使 QoS 0 订阅获得可靠投递,PUBACK 也不代表下游业务处理成功。