大数据技术栈MQTT协议:如何支持海量的在线IoT设备?
本文插图
IoT , 也就是物联网 , 一直是最近几年技术圈非常火的一个概念 , 并且 , 随着 5G 大规模商用 , IoT 还将持续火下去 。
那到底什么是物联网呢?物联网这个词儿 , 它的含义还不那么直观 , 但你看它的英文:IoT , 也就是 Internet of Things 的缩写 , Things 这个单词 , 我们知道 , 它在英语里面几乎可以指代一切 。 翻译成中文 , 我个人觉得 , “东西”这个词儿比较贴切 。 那物联网 , 就可以理解为把所有东西都用互联网给连接起来 。
这里面不仅仅包括像电脑、手机这样的智能设备 , 还包括一些已经智能化的传统设备 , 比如汽车、冰箱、路边的摄像头等等 , 将来还将包括更多的、各种各样的物品:比如水杯、衣服、工业用的各种设备和工具等等 , 也就是所谓的万物互联 。 所以 , IoT 它的未来绝对是大有可期的 。
那这些物联网设备 , 它要实现互相通信 , 也必须有一套标准的通信协议 , MQTT 就是专门为物联网设备设计的一套标准的消息队列通信协议 。 使用 MQTT 协议的 IoT 设备 , 可以连接到任何支持 MQTT 协议的消息队列上 , 进行通信 。
这节课 , 我们就一起来聊一聊 MQTT 协议 , 以及如何把 MQTT 应用到生产系统中去 。 MQTT 和其他消息队列的传输协议有什么不同?
从宏观上来说 , MQTT 和其他消息队列采用的传输协议是差不多的 。 它采用的也是“发布 - 订阅”的消息模型 。 网络结构上 , 也是 C/S 架构 , IoT 设备是客户端 , Broker 是服务端 , 客户端与 Broker 通信进行收发消息 。
虽然 MQTT 和普通的消息队列相比 , 在消息模型、功能和网络结构上都是差不多的 , 但由于他们面对的使用场景是不一样的 , 所以 , MQTT 和普通的消息队列相比 , 还是有很多区别的 。 我们看一下 MQTT 的使用场景有什么样的特点?
【大数据技术栈MQTT协议:如何支持海量的在线IoT设备?】首先 , 它的客户端都是运行在 IoT 设备上 。 IoT 设备它有什么特点?最大的特点就是便宜 , 一个水杯才卖几十块钱 , 它上面的智能模块的成本十块钱最多了 , 再贵就卖不出去了 。 十块钱的智能设备内存都是按照 KB 来计算的 , 可能都没有 CPU , 也不一定有操作系统 , 整个设备就一个 SoC 。 这样的设备就需要通信协议不能太复杂 , 功能不能太多 。 另外 , IoT 设备一般都采用无线连接 , 很多设备都是经常移动的 , 这就导致 , IoT 设备的网络连接不稳定 , 并且这种不稳定的网络是一个常态 。
MQTT 协议在设计上 , 充分考虑了上面的这些特点 。 在协议的报文设计上极其的精简 , 可以说是惜字如金 。 协议的功能也非常简单 , 基本上就只有发布订阅主题和收发消息这两个最核心的功能 。 另外 , 为了应对网络连接不稳定的问题 , MQTT 增加了心跳和会话的机制 。 加入心跳机制可以让客户端和服务端双方都能随时掌握当前连接状态 , 一旦发现连接中断 , 可以尽快地重连 。 MQTT 还加入了会话的机制 , 在服务端来保存会话状态 , 客户端重连之后就可以恢复之前的会话 , 继续来收发消息 。 这样 , 把复杂度转移到了服务端 , 客户端的实现就会更简单 。
MQTT 面临的使用场景中 , 另外一个很重要的特点就是 , 服务端需要支撑海量的 IoT 设备同时在线 。 对于普通的消息队列集群 , 服务的客户端都运行在性能强大的服务器上 , 所以客户端的数量不会特别多 。 比如京东的 JMQ 集群 , 日常在线的客户端数量大概是十万左右这样的规模 , 就足够支撑全国人民在京东上买买买 。 这个规模已经是这个地球上少有的 , 几个超大规模的消息队列集群之一了 。
而 MQTT 的使用场景中 , 需要支撑的客户端数量 , 远不止几万几十万 。 比如 , 北京交通委如果要把全市的车辆都接入进来 , 这是就一个几百万客户端的规模 。 路边随处可见的摄像头 , 每家每户都有的电视、冰箱 , 每个人随身携带的各种穿戴设备 , 这些设备的规模都是百万、千万级甚至是上亿的级别 。
推荐阅读
- |荷兰企业推出全新半导体技术,并承诺对华投资!中国光刻机获突破
- 辰宜科技|区块链技术与应用专题分享交流会
- 吴铭园|华为概念机设计图首次曝光,居然采用屏下摄像头技术
- 人群中国科学家通过古人基因组数据探寻中国文明源流
- 数码与拖拉机维修技术|经典性价比机型再升级:TS-453Dmini 2.5GbE NAS拆解体验
- |《5G技术助力国产机器人完成全球首场骨科实时远程手术》公示材料
- 联想|联想个人云存储Mac版上线 苹果电脑用户数据备份更便捷
- 兰州新闻网|创新驱动 情报先行——记兰州市科学技术情报研究所
- 最极客网|原创 中兴推5G视频手机,衰颓之后还能凭技术回归主流吗?
- 信息史上最全SpaceX火箭数据开源,核心、组员舱、起落架、发射信息全都有!