HTTP on kõige laialdasemalt kasutatav ja populaarseim protokoll. Kuid MQTT on viimastel aastatel kiiresti populaarsust kogunud. Asjade interneti arendamisel peavad arendajad valima nende kahe vahel.
MQTT keskendub andmetele, HTTP aga dokumentidele. HTTP on kliendi-serveri andmetöötluse päringu-vastuse protokoll, mis pole alati mobiilseadmete jaoks optimeeritud. Selles mõttes on MQTT peamised eelised: kerge kaal (MQTT edastab andmeid baitimassiivide kujul) ja avaldamise/tellimise mudel, mis muudab MQTT väga sobivaks piiratud ressurssidega seadmetele ja aitab säästa akut. Lisaks võimaldab avaldamise/tellimise mudel klientidel olla üksteisest sõltumatud, suurendades seeläbi kogu süsteemi töökindlust. Kliendi rikke korral jätkab kogu süsteem normaalset toimimist.
MQTT-l on veel palju eeliseid, näiteks:
1. Madala protokolli üldkuluga on MQTT ainulaadne selle poolest, et selle päis sõnumi kohta võib olla kuni 2 baiti. Nii MQ-l kui ka HTTP-l on sõnumi kohta palju suurem üldkulu. HTTP puhul tekitab iga uue päringusõnumi jaoks HTTP-ühenduse taastamine märkimisväärse üldkulu. MQ ja MQTT poolt kasutatavad püsiühendused vähendavad seda üldkulu oluliselt.
2. Ebastabiilsete võrkude taluvuse tõttu suudavad MQTT ja MQ taastuda sellistest tõrgetest nagu ühenduse katkemine ja täiendavat koodi pole vaja. HTTP ei saa seda aga natiivselt teha, nõudes klientidelt kodeerimise uuesti proovimist, mis võib suurendada idempotentsuse probleeme.
3. Madal energiatarve, MQTT on spetsiaalselt loodud väikese energiatarbimise jaoks. HTTP ei ole loodud seda arvesse võtma, suurendades seega energiatarbimist.
4. Klientide, kellel on HTTP-pinus miljoneid ühendusi ja kes haldavad miljoneid samaaegseid ühendusi, toe pakkumine nõuab palju tööd. Kuigi see tugi on võimalik, on enamik kommertstooteid optimeeritud sellise suurusjärgu püsivate ühenduste haldamiseks. IBM pakub IBM MessageSighti, ühe racki paigaldamisega serverit, mis on testitud kuni miljoni samaaegselt ühendatud seadme haldamiseks MQTT kaudu. Seevastu MQTT ei ole loodud suure hulga samaaegsete klientide jaoks.
5. Tõuketeavituste puhul peate suutma klientidele õigeaegselt teavitusi edastada. Selleks tuleb kasutada mingisugust perioodilist küsitlust või tõuketeavitust; tõuketeavitus on parim lahendus aku, süsteemi koormuse ja ribalaiuse seisukohast.
Meie ettevõttel võib olla vaja saata tundlikku teavet ilma kolmanda osapoole vahenduseta. See vähendab operatsioonisüsteemipõhiste lahenduste (nt Apple iOS, Google Play teavitused) väärtust peamise transpordimehhanismina.
HTTP lubab ainult ühte meetodit nimega COMET, mis kasutab tõuketeavituste tegemiseks püsivaid HTTP-päringuid. See lähenemisviis on nii kliendi kui ka serveri vaatenurgast kulukas. Nii MQ kui ka MQTT toetavad tõuketeavitusi kui oma põhifunktsiooni.
6. Kliendiplatvormide erinevused: nii HTTP- kui ka MQTT-kliente on rakendatud paljudel platvormidel. MQTT lihtsus aitab MQTT-d rakendada täiendavatel klientidel väga vähese vaevaga.
7. Tulemüüri rikketaluvuse tõttu piiravad mõned ettevõtete tulemüürid väljaminevaid ühendusi teatud määratletud portidega. Need pordid on tavaliselt piiratud HTTP-ga (port 80), HTTPS-iga (port 443) jne. HTTP võib nendes olukordades ilmselgelt toimida. MQTT saab olla WebSockets-ühenduse sees, mis kuvatakse HTTP uuendustaotlusena, võimaldades sellistel juhtudel toimimist. MQTT seda mustrit ei luba.
Võrreldes HTTP-ga garanteerib MQTT protokoll kõrge edastuskiiruse. Teenuse kvaliteedil on kolm taset:
A. Maksimaalselt üks kord: proovige tagada kohaletoimetamine.
B. Vähemalt üks kord: veenduge, et e-kiri saadetakse vähemalt üks kord, kuid sõnumit saab edastada ka mitu korda.
C. Ainult üks kord: veenduge, et teine osapool saab iga sõnumi ainult üks kord.
Tegelikult on MQTT laialdaselt kasutusel. MQTT-d võib leida peaaegu igast suurest riistVara- ja internetiettevõttest, näiteks Facebookist, BP-st, Alibabast, Baidu'st jne.
MQTT enda mitmesuguste tehniliste eeliste tõttu kipuvad üha enam ettevõtted valima MQTT-d asjade interneti tootekommunikatsiooni standardprotokolliks. Seetõttu on insenerid järk-järgult avastanud, et MQTT protokollil on mõned funktsioonid, mida tuleb laiaulatuslikuks turustamiseks täiustada. Näiteks:
1. Täielikku SDK-d pole olemas ja erinevad heterogeensed terminalid vajavad MQTT serveriga suhtlemiseks vastavaid tarkvara SDK pakette. Näiteks MCU, Linuxi, Androidi, IOS-i, veebi jne vahelise ühenduse loomiseks on vaja erinevaid SDK pakette.
2. Faili- ja audiovisuaalset tuge ei toetata. Mõnes rakendusstsenaariumis ei pruugi edastatav teave piirduda juhistega, näiteks heli- ja videosignaalidega, mis peavad suhtlema faili- ja audiovisuaalse tuge kaudu.
3. See ei toeta integratsiooni kolmanda osapoole HTTP-ga. KuigiKuigi MQTT protokoll on tavalisest HTTP protokollist parem, hõivavad traditsioonilisel HTTP protokollil põhinevad veebiserverid endiselt peavooluturgu, seega peavad need serverid uuenduste vähendamiseks mõistma MQTT protokolliga ühendamist. Kulud on samuti kriitilise tähtsusega.
4. See ei toeta koormuse tasakaalustamist. Koormuse tasakaalustav server on samuti hädavajalik, et vältida suurt samaaegsust ja pahatahtlikke rünnakuid.
5. See ei toeta kasutajahaldusliidest. Kasutajate jaoks on eriti oluline analüüsida seadme käitumisandmeid, mis on Tööstus 4.0 ja suurandmete ajastu vältimatu nõue.
6. See ei toeta võrguühenduseta sõnumeid ja kompenseerib probleemi, et MQTT server kaotab seadme juhtimisteabe pärast seadme võrguühenduseta olekut.
7. Punkt-punkti suhtlust ei toetata ja kasutatakse standardset MQTT protokolli. Teoreetiliselt saab punkt-punkti suhtlust teostada vastastikuse tellimuse kaudu, kuid loogika on suhteliselt keeruline ja seadme turvalisus tekitab muret. Kui seade B ja seade C on samal teemal, ei saa seade A teada, kas sõnumi saatis seade B või seade C, ja on ka võimalik, et seade D kuulab sõnumit pealt.
8. See ei toeta grupisuhtlust ega grupihaldust ning realiseerib grupiliikmete haldamist ja grupiliikmed saavad omavahel suhelda. Eriti kasulik on see stsenaariumis, kus ühte seadet juhib mitu inimest või mitut seadet juhib üks inimene.
Contact: Adam
Phone: +86 18205991243
E-mail: sale1@rfid-life.com
Add: No.987,High-Tech Park,Huli District,Xiamen,China