MQTT Broker 简介

20 阅读3分钟

一、Broker到底是什么?

MQTT Broker = 消息服务器 / 代理服务器

它的作用只有一个:所有设备和手机App都不直接互相连接,全都连到Broker,由它转发消息。


二、用生活例子秒懂

你有三个东西:

  • 智能灯(设备)
  • 你的手机App(iOS)
  • 中间的Broker

流程:

  1. 手机App → 连接Broker
  2. 智能灯 → 连接Broker
  3. 你在App点「开灯」
    • 消息发给Broker
    • Broker转给智能灯
  4. 智能灯状态变了
    • 消息发给Broker
    • Broker转给手机App

Broker就是消息中转站。


三、为什么一定要用Broker?

  • 设备不知道手机在哪
  • 手机不知道设备在哪
  • 它们不能直接对话
  • 必须有一个固定地址、固定服务器来中转

这就是MQTT协议的核心设计


四、开发智能硬件App时,Broker就是:

  • 一个IP地址 + 端口

    • 例如:192.168.1.100:1883
    • 或云端地址:mqtt.aliyun.com
  • 你的iOS代码里要填的:

    let brokerHost = "tcp://192.168.1.100:1883"
    

五、常见的Broker有哪些?

做智能硬件一定会用到的:

Broker说明
EMQX最常用、免费、本地/云端都能用
Mosquitto轻量、适合测试
阿里云IoT MQTT商业云服务
腾讯云IoT MQTT商业云服务
华为云IoT MQTT商业云服务

最精简总结

Broker = MQTT服务器 = 消息中转站

手机App和智能硬件,都必须连它才能互相通信。

类型示例一句话解释
本地地址192.168.1.100:1883局域网内使用,出门连不上
云端域名mqtt.aliyun.com公网访问,全球都能连

它们作用一样(都是 MQTT Broker),但使用场景、范围、安全性完全不同


二、详细对比

1. 192.168.1.100:1883

项目说明
是什么内网IP + 端口,跑在本地电脑/树莓派/开发板上
访问范围只能在同一WiFi内访问
网络要求不需要互联网
适用场景开发调试、本地测试
端口TCP默认1883,SSL默认8883
tcp://192.168.1.100:1883

2. mqtt.aliyun.com

项目说明
是什么云服务商提供的公网MQTT服务器
访问范围手机4G/5G、任何WiFi、全球任意网络
网络要求必须有互联网
适用场景正式产品、用户实际使用
特性有认证、权限、设备管理、消息存储

实际阿里云地址格式:

tcp://iot-as-http.cn-shanghai.aliyuncs.com:1883

三、最关键的区别

对比维度本地地址 192.168.x.x云端域名 mqtt.aliyun.com
外网使用❌ 只能局域网,出门就断✅ 全球任何地方都能连
谁维护你自己维护,断电即停云厂商维护,7×24小时运行
安全性弱,连上WiFi就能控制强,有身份认证、秘钥、权限控制
设备数量支持几个设备支持百万级设备

四、开发时怎么选?

✅ 开发调试阶段

192.168.1.100:1883
  • 方便、快速
  • 不用上网、不用注册账号
  • 适合本地测试

✅ 正式上线阶段

mqtt.aliyun.com / 腾讯云 / 华为云 / 自有云服务器

五、一句话总结

192.168.1.100:1883 = 本地测试用,只能家里连

mqtt.aliyun.com = 云端正式用,全球都能连