目录
- 一、什么是IoT
- 二、MQTT 和其他消息队列的传输协议有什么不同
- 三、如何选择 MQTT 产品
- 四、MQTT 集群如何支持海量在线的 IoT 设备
- 五、总结
本文来源:极客时间vip课程笔记
一、什么是IoT
- IoT,也就是物联网,物联网这个词儿,它的含义还不那么直观,但你看它的英文:IoT,也就是 Internet of Things 的缩写,Things 这个单词,我们知道,它在英语里面几乎可以指代一切。翻译成中文,我个人觉得,“东西”这个词儿比较贴切。那物联网,就可以理解为把所有东西都用互联网给连接起来。
- 这里面不仅仅包括像电脑、手机这样的智能设备,还包括一些已经智能化的传统设备,比如汽车、冰箱、路边的摄像头等等,将来还将包括更多的、各种各样的物品:比如水杯、衣服、工业用的各种设备和工具等等,也就是所谓的万物互联。所以,IoT 它的未来绝对是大有可期的。
- 那这些物联网设备,它要实现互相通信,也必须有一套标准的通信协议,MQTT 就是专门为物联网设备设计的一套标准的消息队列通信协议。使用 MQTT 协议的 IoT 设备,可以连接到任何支持 MQTT 协议的消息队列上,进行通信。
二、MQTT 和其他消息队列的传输协议有什么不同
- 从宏观上来说,MQTT 和其他消息队列采用的传输协议是差不多的。它采用的也是“发布 - 订阅”的消息模型。网络结构上,也是 C/S 架构,IoT 设备是客户端,Broker 是服务端,客户端与 Broker 通信进行收发消息。
- 虽然 MQTT 和普通的消息队列相比,在消息模型、功能和网络结构上都是差不多的,但由于他们面对的使用场景是不一样的,所以,MQTT 和普通的消息队列相比,还是有很多区别的。我们看一下 MQTT 的使用场景有什么样的特点?
- 首先,它的客户端都是运行在 IoT 设备上。IoT 设备它有什么特点?最大的特点就是便宜,一个水杯才卖几十块钱,它上面的智能模块的成本十块钱最多了,再贵就卖不出去了。十块钱的智能设备内存都是按照 KB 来计算的,可能都没有 CPU,也不一定有操作系统,整个设备就一个 SoC。这样的设备就需要通信协议不能太复杂&#x