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