什么是MQTT?


MQTT代表消息队列遥测传输 (Message Queuing Telemetry Transport)。它是一种高度轻量级的发布-订阅消息传输协议。该协议适用于带宽良好的远程区域连接。这种特性使其在多种情况下都非常有用,包括稳定的环境,例如设备到设备的通信和物联网。

MQTT由IBM在20世纪90年代后期创建。其最初的软件是为了将石油管道上的传感器与卫星连接起来。它是一个支持各方之间异步通信的消息协议。

MQTT代理是每个发布/订阅协议的中心。基于实现,一个代理可以处理多达数千个同时连接的MQTT客户端。代理负责接收所有消息,过滤消息,确定哪些客户端订阅了每条消息并将消息发送给这些订阅的客户端。代理还管理所有持久用户的会话,例如订阅和未接收的消息。

异步消息协议在区域和时间上解耦了消息发送者和接收者,因此在不可靠的网络环境中具有可扩展性。

MQTT的产生是为了收集某些工具的信息,然后将这些信息传输到IT框架。它轻量级,非常适合孤立的监控,尤其是在需要较小代码占用空间或确定性网络带宽的M2M链路中。

这些特性使其在多种情况下都非常有用,包括稳定的环境,例如机器到机器的连接和物联网环境。

它是一个发布和订阅系统,用户可以在其中发布和接收消息。它简化了多个设备之间的通信。它是一个为受限设备和低带宽设计的简单消息协议。因此,它是物联网应用的正确解决方案。

在MQTT中,订阅者和发布者是客户端的两个角色。客户端订阅主题以发布和接收消息。可以说,如果某个程序或设备使用MQTT,则该设备定义为客户端。

如果某个设备打开与服务器相关的网络,发布其他客户端需要查看的消息,订阅它需要接收的消息,取消订阅它不需要接收的消息,并关闭与服务器的网络连接,则该设备就是一个客户端。

该标准还表示三种消息类型,例如连接、断开连接和发布。连接消息类型由客户端传输到中介,断开连接消息类型是中介传输给已连接客户端的“会话结束”验证。

发布消息类型从客户端开始,并将信息发送到消息中介。当转发数据时,中介也会向客户端传输此消息架构。

更新于:2021年11月22日

2K+浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.