新聞中心
PRESS CENTER1、協(xié)議更標(biāo)準(zhǔn)
MQTT是標(biāo)準(zhǔn)的RFC協(xié)議,相比于私有協(xié)議而言更加標(biāo)準(zhǔn)。好處在于:
(1)協(xié)議非常完整,能夠馬上用于生產(chǎn)。各端實(shí)現(xiàn)同一套協(xié)議之后,就能進(jìn)行通信;私有協(xié)議還需要進(jìn)行大量的驗(yàn)證,看有無缺陷或欠考慮的地方等。
(2)協(xié)議的標(biāo)準(zhǔn)化帶來大量的開源組件,降低開發(fā)難度。隨著物聯(lián)網(wǎng)+5G生態(tài)越來越好,開源組件越來越多,可以減少重復(fù)編碼量。
(3)標(biāo)準(zhǔn)協(xié)議利于第三方接入。當(dāng)?shù)谌皆O(shè)備、平臺想要對接的時(shí)候,拿出一套標(biāo)準(zhǔn)的MQTT協(xié)議拍在他們臉上,再也沒人有理由要求改接口了。
2、MQTT協(xié)議制定好了很多利于物聯(lián)網(wǎng)的功能
當(dāng)然TCP自己開發(fā)協(xié)議也能做到,但MQTT都已經(jīng)把功能做好了,自己開發(fā)協(xié)議反而增加難度。有利的功能包括:
(1)心跳機(jī)制。不需要自己做業(yè)務(wù)協(xié)議層的心跳了。
(2)遺囑消息。這對于經(jīng)常掉線的物聯(lián)網(wǎng)設(shè)備而言非常有用。
(3)QoS質(zhì)量等級+離線消息。持久會話離線的消息也能接收到,對于網(wǎng)絡(luò)不穩(wěn)定但要求必須送達(dá)的物聯(lián)網(wǎng)場景很有用。
(4)異步機(jī)制。MQTT將消息以QoS1/2發(fā)送出去后,設(shè)備端就不需要再管了,一切由云端負(fù)責(zé)失敗重傳。
(5)訂閱發(fā)布機(jī)制。一次發(fā)布,多個(gè)客戶端訂閱,這對于M2M場景很省電、省流量。
(6)主題和安全??梢杂弥黝}來方便地控制客戶端權(quán)限。
3、理解數(shù)據(jù)內(nèi)容,用數(shù)據(jù)產(chǎn)生價(jià)值
IoT目前主流設(shè)計(jì)有兩部分:
(1)設(shè)備影子價(jià)值
設(shè)備影子包含了設(shè)備的狀態(tài),不用一個(gè)一個(gè)透傳查詢設(shè)備,直接在云端訪問設(shè)備影子就能夠得到當(dāng)前所有設(shè)備的狀態(tài)數(shù)據(jù),這蘊(yùn)含著巨大的利益,比如統(tǒng)計(jì)數(shù)據(jù)用于引導(dǎo)開發(fā)新產(chǎn)品和功能、統(tǒng)計(jì)數(shù)據(jù)用于修復(fù)bug等等。
(2)規(guī)則引擎價(jià)值
AWS、阿里云、騰訊云、百度云,都叫規(guī)則引擎(Rule Engine)。由于MQTT細(xì)分了具體的主題,當(dāng)業(yè)務(wù)以主題區(qū)別的時(shí)候,直接將對應(yīng)主題的數(shù)據(jù)通過規(guī)則引擎配置的規(guī)則自動分發(fā)給其他的數(shù)據(jù)接收者,這些都是TCP透傳這種云不理解業(yè)務(wù)數(shù)據(jù)內(nèi)容做不到的。
雖然MQTT在很多方面具有一定優(yōu)勢,但是選擇MQTT還是TCP長連接透傳還是需要看具體的業(yè)務(wù)場景,選擇最合適的才是最重要的。