HTTP je najpoužívanejší a najobľúbenejší protokol. MQTT sa však v posledných rokoch rýchlo presadilo. Pri diskusii o vývoji internetu vecí si vývojári musia vybrať medzi týmito dvoma.
MQTT sa zameriava na údaje, zatiaľ čo HTTP sa zameriava na dokumenty. HTTP je protokol typu žiadosť-odpoveď pre výpočty typu klient-server, ktorý nie je vždy optimalizovaný pre mobilné zariadenia. Z tohto hľadiska sú hlavnými výhodami MQTT: nízka hmotnosť (MQTT prenáša dáta vo forme bajtových polí) a model publikovania/predplatenia, vďaka čomu je MQTT veľmi vhodný pre zariadenia s obmedzenými zdrojmi a pomáha šetriť batériu. Model publikovania/odberu navyše umožňuje klientom byť navzájom nezávislí, čím sa zvyšuje spoľahlivosť celého systému. V prípade zlyhania klienta celý systém naďalej funguje normálne.
Stále existuje mnoho výhod MQTT, a to:
1. Nízka protokolová réžia, MQTT je jedinečný v tom, že jeho hlavička na správu môže mať len 2 bajty. MQ aj HTTP majú oveľa vyššiu réžiu na správu. Pri použití protokolu HTTP predstavuje opätovné vytvorenie pripojenia HTTP pre každú novú správu s požiadavkou značné náklady. Trvalé pripojenia používané MQ a MQTT výrazne znižujú túto réžiu.
2. Tolerancia voči nestabilným sieťam, MQTT a MQ sa môžu zotaviť z porúch, ako je odpojenie, a nie sú potrebné žiadne ďalšie požiadavky na kód. HTTP to však nedokáže natívne a vyžaduje, aby klienti znova vyskúšali kódovanie, čo môže prispieť k problémom s idempotenciou.
3. Nízka spotreba energie, MQTT je špeciálne navrhnutý pre nízku spotrebu energie. Protokol HTTP nebol navrhnutý tak, aby to zohľadnil, čím sa zvýšila spotreba energie.
4. Klienti s miliónmi pripojení v zásobníku HTTP si udržiavanie miliónov súbežných pripojení vyžaduje veľa práce na poskytovanie podpory. Aj keď je táto podpora možná, väčšina komerčných produktov je optimalizovaná tak, aby zvládla trvalé pripojenia tohto rádu. IBM ponúka IBM MessageSight, jediný rackový server testovaný na obsluhu až 1 milióna súčasne pripojených zariadení cez MQTT. Na rozdiel od toho MQTT nie je určený pre veľký počet súbežných klientov.
5. Push notifikácie, musíte vedieť doručovať upozornenia zákazníkom včas. Na to sa musí použiť nejaký druh periodického dotazovania alebo tlače; push je najlepším riešením z hľadiska batérie, zaťaženia systému a šírky pásma.
Naša spoločnosť môže potrebovať odosielať citlivé informácie bez sprostredkovateľa tretej strany. To znižuje hodnotu riešení špecifických pre operačný systém (ako je Apple iOS, upozornenia Google Play) ako primárneho mechanizmu prenosu.
HTTP umožňuje iba jednu metódu nazývanú COMET, ktorá na vykonávanie push používa trvalé požiadavky HTTP. Tento prístup je drahý z pohľadu klienta aj servera. Ich základnou vlastnosťou je podpora MQ aj MQTT.
6. Rozdiely v klientskej platforme, klienti HTTP aj MQTT boli implementovaní na veľkom počte platforiem. Jednoduchosť MQTT pomáha implementovať MQTT na ďalších klientoch s veľmi malým úsilím.
7. Odolnosť proti chybám brány firewall, niektoré firemné brány firewall obmedzujú odchádzajúce pripojenia na niektoré definované porty. Tieto porty sú zvyčajne obmedzené na HTTP (port 80), HTTPS (port 443) atď. HTTP môže v týchto situáciách samozrejme fungovať. MQTT možno zabaliť do pripojenia WebSockets, ktoré sa zobrazí ako požiadavka na aktualizáciu HTTP, čo v týchto prípadoch umožňuje operáciu. MQTT tento vzor neumožňuje.
Protokol MQTT v porovnaní s HTTP zaručuje vysokú prenosovú rýchlosť. Existujú tri úrovne kvality služieb:
A. Maximálne raz: Pokúste sa zabezpečiť doručenie.
B. Aspoň raz: Uistite sa, že e-mail bol odoslaný aspoň raz, ale správa môže byť doručená aj viackrát.
C. Len raz: Zabezpečte, aby druhá strana prijala každú správu iba raz.
V skutočnosti je MQTT široko používaný. MQTT nájdete takmer v každej veľkej hardvérovej a internetovej spoločnosti, ako je Facebook, BP, alibaba, baidu atď.
Vzhľadom na rôzne technické výhody samotného MQTT si čoraz viac spoločností vyberá MQTT ako štandardný protokol pre komunikáciu produktov internetu vecí. Inžinieri preto postupne zistili, že protokol MQTT má niektoré funkcie, ktoré je potrebné zlepšiť, ak má byť vo veľkom komerčne využitý. napríklad:
1. Neexistuje žiadna úplná súprava SDK a rôzne heterogénne terminály potrebujú zodpovedajúce softvérové balíky SDK na komunikáciu so serverom MQTT. Napríklad, aby sa dosiahlo prepojenie medzi MCU, Linuxom, Androidom, IOS, WEBom atď., musia byť potrebné rôzne balíčky SDK.
2. Súbor a AV nie sú podporované. V niektorých aplikačných scenároch sa informácie, ktoré sa majú preniesť, nemusia obmedzovať na pokyny, ako sú audio signály a video signály, ktoré musia komunikovať prostredníctvom súboru a AV.
3. Nepodporuje integráciu s HTTP tretej strany. Hocih protokol MQTT je lepší ako bežný protokol HTTP, WEB servery založené na tradičnom protokole HTTP stále obsadzujú bežný trh, takže tieto servery musia realizovať prepojenie s protokolom MQTT, aby sa znížili aktualizácie. Náklady sú tiež kritické.
< br/>4. Nepodporuje vyvažovanie záťaže. Aby sa predišlo vysokej súbežnosti a škodlivým útokom, je tiež nevyhnutný server na vyrovnávanie záťaže.
5. Nepodporuje rozhranie správy používateľov. Pre používateľov je obzvlášť dôležité analyzovať údaje o správaní zariadení, čo je nevyhnutná požiadavka Industry 4.0 a éry veľkých dát.
6. Nepodporuje offline správy a kompenzuje problém, že server MQTT stratí riadiace informácie zariadenia, keď je zariadenie offline.
7. Komunikácia z bodu do bodu nie je podporovaná a používa sa štandardný protokol MQTT. Teoreticky môže byť komunikácia z bodu do bodu realizovaná prostredníctvom vzájomného predplatného, ale logika je pomerne komplikovaná a existujú obavy o bezpečnosť zariadenia. Keď sú zariadenie B a zariadenie C na rovnakej téme, zariadenie A nemôže vedieť, či je to zariadenie B alebo zariadenie C, ktoré správu odoslalo, a je tiež možné, že správu odpočúva zariadenie D.
8. Nepodporuje skupinovú komunikáciu a skupinový manažment a realizuje riadenie členov skupiny a členovia skupiny môžu medzi sebou komunikovať. V scenári, kde je jedno zariadenie ovládané viacerými ľuďmi alebo viacero zariadení ovládaných jednou osobou, je to obzvlášť užitočné.
Contact: Adam
Phone: +86 18205991243
E-mail: sale1@rfid-life.com
Add: No.987,High-Tech Park,Huli District,Xiamen,China