J9九游会AG

商务垂询:

0512-86663359

文章(zhang)详情

为什么在物联网应用中使用MQTT而不是HTTP?有何不同?

发表时间:2022-11-09 10:44作(zuo)者:亿(yi)佰特物联网应用来源:搜狐网址:

在这篇(pian)文章中,大(da)家将了解MQTT协议,以及为什(shen)么在许多物联(lian)网应用中使用它(ta)。

MQTT协议(yi)最初由IBM开发,并且是(shi)(shi)专有的(de)(de)。它(ta)的(de)(de)开发是(shi)(shi)为了解决(jue)石油(you)和天然气行业(ye)的(de)(de)传感器(qi)通(tong)过(guo)卫星与远程服务器(qi)连接的(de)(de)问(wen)题,而(er)且是(shi)(shi)一种经(jing)济(ji)有效的(de)(de)方式(shi)。然而(er),它(ta)现(xian)在是(shi)(shi)一个由OASIS监督的(de)(de)开放协议(yi)。

MQTT是一种与HTTP类似(si)的应用层协议。然(ran)而,HTTP和MQTT之间存在显著差(cha)异(yi)。其(qi)中,在某些物联网(wang)应用中,MQTT优于HTTP。

首先,HTTP是用于(yu)客(ke)(ke)户端(duan)服务(wu)器计算的(de)(de)(de)(de)以文档为中(zhong)(zhong)心的(de)(de)(de)(de)请求-响应协议。HTTP是万维网的(de)(de)(de)(de)基础,但它不(bu)是专门为机(ji)(ji)器之间通(tong)信而设计的(de)(de)(de)(de)。另(ling)一(yi)(yi)方面,MQTT是一(yi)(yi)种(zhong)(zhong)(zhong)(zhong)机(ji)(ji)器对机(ji)(ji)器、以数据为中(zhong)(zhong)心的(de)(de)(de)(de)轻量级协议,旨在(zai)(zai)用于(yu)在(zai)(zai)资源(yuan)受(shou)限的(de)(de)(de)(de)环(huan)境中(zhong)(zhong)运行。许多物联网项目要求设备在(zai)(zai)各(ge)种(zhong)(zhong)(zhong)(zhong)资源(yuan)有限下(xia)运行,如有限的(de)(de)(de)(de)处理(li)能力、无人值守的(de)(de)(de)(de)网络操作、高度不(bu)可靠的(de)(de)(de)(de)网络、能源(yuan)限制等,在(zai)(zai)这种(zhong)(zhong)(zhong)(zhong)受(shou)限环(huan)境中(zhong)(zhong),MQTT比HTTP更(geng)受(shou)欢迎。与HTTP中(zhong)(zhong)的(de)(de)(de)(de)直接(jie)客(ke)(ke)户端(duan)服务(wu)器交(jiao)互不(bu)同,MQTT在(zai)(zai)发(fa)布(bu)/订(ding)阅(yue)范例下(xia)运行,中(zhong)(zhong)间有MQTT代(dai)理(li)。客(ke)(ke)户端(duan)可以将主(zhu)(zhu)题发(fa)布(bu)到MQTT代(dai)理(li)或订(ding)阅(yue)主(zhu)(zhu)题,同一(yi)(yi)客(ke)(ke)户端(duan)可以发(fa)布(bu)主(zhu)(zhu)题X和(he)Y,并订(ding)阅(yue)由另(ling)一(yi)(yi)个MQTT客(ke)(ke)户端(duan)发(fa)布(bu)的(de)(de)(de)(de)主(zhu)(zhu)题Z,MQTT还允许MQTT客(ke)(ke)户端(duan)和(he)代(dai)理(li)之间的(de)(de)(de)(de)持(chi)久连接(jie)以及不(bu)同的(de)(de)(de)(de)服务(wu)质(zhi)量级别,这使得它非(fei)常(chang)适合各(ge)种(zhong)(zhong)(zhong)(zhong)受(shou)限环(huan)境,因为在(zai)(zai)这种(zhong)(zhong)(zhong)(zhong)情(qing)况下(xia),它比HTTP更(geng)节能、更(geng)快。

现在,来了解一(yi)(yi)些术语。连接(jie)到(dao)MQTT代(dai)(dai)理(li)(li)(li)的(de)(de)(de)所(suo)有设备(bei)都是MQTT客(ke)(ke)户端(duan)(duan)(duan)。MQTT客(ke)(ke)户端(duan)(duan)(duan)的(de)(de)(de)范围从(cong)计(ji)算(suan)机到(dao)移动电话(hua),再到(dao)小型受限的(de)(de)(de)传(chuan)感(gan)器设备(bei),MQTT代(dai)(dai)理(li)(li)(li)是一(yi)(yi)个(ge)MQTT服(fu)务器,它(ta)在与其连接(jie)的(de)(de)(de)不同MQTT客(ke)(ke)户端(duan)(duan)(duan)之(zhi)间传(chuan)输数据(ju)。当(dang)客(ke)(ke)户端(duan)(duan)(duan)希望向代(dai)(dai)理(li)(li)(li)发(fa)送数据(ju)时,它(ta)会“发(fa)布”该(gai)数据(ju)或主(zhu)题(ti),当(dang)MQTT客(ke)(ke)户端(duan)(duan)(duan)希望接(jie)收由(you)另一(yi)(yi)个(ge)MQTT客(ke)(ke)户端(duan)(duan)(duan)发(fa)布的(de)(de)(de)此(ci)(ci)数据(ju)时,它(ta)订阅此(ci)(ci)主(zhu)题(ti),然后MQTT代(dai)(dai)理(li)(li)(li)将此(ci)(ci)主(zhu)题(ti)传(chuan)输给代(dai)(dai)理(li)(li)(li)。这与HTTP不同,MQTT客(ke)(ke)户端(duan)(duan)(duan)不需要知(zhi)道彼此(ci)(ci)的(de)(de)(de)IP地址(zhi)或端(duan)(duan)(duan)口号,他们所(suo)需要做的(de)(de)(de)就是连接(jie)到(dao)同一(yi)(yi)个(ge)MQTT代(dai)(dai)理(li)(li)(li),单(dan)个(ge)MQTT代(dai)(dai)理(li)(li)(li)可以处(chu)理(li)(li)(li)大量MQTT客(ke)(ke)户端(duan)(duan)(duan),并且每(mei)个(ge)代(dai)(dai)理(li)(li)(li)的(de)(de)(de)数量不同。




本(ben)文为网络转(zhuan)载,不代(dai)表(biao)公司立场(chang)。如有侵权或其(qi)他(ta)问(wen)题,请(qing)联系删除(chu)!


分享到:
会员登录
登录
留言
回到顶部