MQTT(消息隊(duì)列遙測(cè)傳輸)協(xié)議是建立在TCP協(xié)議之上,基于發(fā)布/訂閱的一種數(shù)據(jù)傳輸協(xié)議。由于其實(shí)現(xiàn)簡(jiǎn)單,系統(tǒng)開(kāi)銷極低,所以非常適合用于對(duì)成本比較敏感的物聯(lián)網(wǎng)應(yīng)用場(chǎng)景。如今很多物聯(lián)網(wǎng)設(shè)備與云端交互都是用的MQTT協(xié)議。由于在某些物聯(lián)網(wǎng)場(chǎng)景,設(shè)備的網(wǎng)絡(luò)環(huán)境往往受限,MQTT則提供了消息等級(jí)機(jī)制(Qos)來(lái)滿足不同網(wǎng)絡(luò)環(huán)境、不同應(yīng)用場(chǎng)景下的傳輸需求。
MQTT提供了三類消息等級(jí):
-Qos 0:最多傳輸一次:
只會(huì)發(fā)布一次。消息發(fā)布后發(fā)送方不會(huì)確保發(fā)布的消息對(duì)端是否收到。
-Qos 1:最少收到一次
發(fā)布消息后,發(fā)布消息那一方會(huì)等待對(duì)方的PUBACK。在發(fā)送方的超時(shí)時(shí)間之內(nèi)如果沒(méi)有收到對(duì)端的PUBACK。發(fā)送方會(huì)重新發(fā)送消息以確保接收方能收到。
-Qos 2:只收到一次
發(fā)布消息過(guò)程中收發(fā)雙方會(huì)經(jīng)過(guò)四次握手過(guò)程(PUBREC、PUBREL、PUBCOMP)來(lái)確保數(shù)據(jù)只會(huì)接收一次。在握手任一步驟出錯(cuò)或未收到數(shù)據(jù),都會(huì)重啟整個(gè)發(fā)送步驟,知道發(fā)送成功
1、Qos 0(At Most Once):
優(yōu)勢(shì):通訊機(jī)制簡(jiǎn)單,容易實(shí)現(xiàn),對(duì)于流量消耗有限制的設(shè)備(比如通過(guò)4G傳輸?shù)脑O(shè)備)能減少流量消耗
缺點(diǎn):由于沒(méi)有確認(rèn)機(jī)制,數(shù)據(jù)可能不會(huì)到達(dá)訂閱方(即使TCP有完整的重傳機(jī)制)。
適用場(chǎng)景:適用于對(duì)數(shù)據(jù)丟包不敏感的場(chǎng)景如:數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè),傳感器采集上報(bào),日志記錄等。
2、Qos 1(At Least Once):
優(yōu)勢(shì):發(fā)布數(shù)據(jù)時(shí)有PUBACK機(jī)制,可以確保數(shù)據(jù)的到達(dá)。
缺點(diǎn):發(fā)送方有可能沒(méi)收到接收方的PUBACK從而導(dǎo)致接收方可能同一條消息收到多次
適用場(chǎng)景:適用于對(duì)數(shù)據(jù)的重復(fù)性要求不高,但對(duì)可靠性有一定要求的場(chǎng)景如:開(kāi)關(guān)狀態(tài)同步等。
3、Qos 2(Exactly Once):
優(yōu)勢(shì):基于復(fù)雜且完善的數(shù)據(jù)發(fā)布過(guò)程,可以確保發(fā)布的消息不會(huì)丟失與重復(fù)。
缺點(diǎn):由于傳輸機(jī)制相對(duì)復(fù)雜,傳輸效率較低。
適用場(chǎng)景:對(duì)消息的丟失或重復(fù)不能接受的場(chǎng)景如:交易訂單、在線聊天(如QQ、微信)。
在了解了MQTT在不同Qos等級(jí)下的消息收發(fā)機(jī)制后,我們?cè)诨?/span>MQTT協(xié)議做應(yīng)用時(shí)就能更好的選擇適合應(yīng)用場(chǎng)景的消息等級(jí)。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、通過(guò)MQTT協(xié)議接入OneNet平臺(tái)教程1:OneNet平臺(tái)配置
2、詳解4G遙控開(kāi)關(guān)接入MQTT協(xié)議服務(wù)器的步驟與意義
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 無(wú)錫辦事處劉經(jīng)理:13558641933
成都總部銷售經(jīng)理:
秦 科(無(wú)線模塊):18884314654 馮子恒(無(wú)線模塊):18828049434
蔡友銀(無(wú)線模塊):13882211021 葛宇龍(通信設(shè)備):19138800613
胡兵(外貿(mào)銷售經(jīng)理):18584911141、 sales06@ebyte.com
業(yè)務(wù)郵箱:support@cdebyte.com 全國(guó)銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號(hào)B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號(hào)