Efektivita výkonu úloh IoT
Řešení IoT zahrnují komponenty zařízení, hraničních zařízení a cloudových komponent a rozsah od milionů malých zařízení připojených ke cloudu až po průmyslová řešení, kde několik výkonných serverů je branami pro cloudové připojení. Počet zařízení, jejich fyzické a geografické umístění a počet zpráv, které odesílají nebo přijímají, jsou některé faktory, které můžou definovat efektivitu výkonu úloh IoT.
Efektivita výkonu zahrnuje také schopnost úlohy IoT efektivně škálovat podle požadavků. Výhodou cloudu je geografická dostupnost a schopnost škálovat služby na vyžádání s minimálními nebo žádnými výpadky aplikací.
Efektivita výkonu představuje výkon v poměru k využití prostředků za uvedených podmínek. Efektivita výkonu měří, jak dobře produkt nebo systém při výkonu svých funkcí splňuje požadavky na:
Chování času, jako jsou doby odezvy, doby zpracování a míry propustnosti.
Využití prostředků nebo množství a typy použitých prostředků.
Kapacita nebo maximální limity.
Posouzení efektivity výkonu úloh IoT
Pokud chcete posoudit úlohu IoT s ohledem na pilíř efektivity výkonu architektury Well-Architected Framework, vyplňte otázky týkající se efektivity výkonu úloh IoT v části Azure Well-Architected Review. Jakmile posouzení identifikuje klíčová doporučení týkající se efektivity výkonu pro vaše řešení IoT, použijte následující obsah, který vám pomůže s implementací doporučení.
Principy návrhu
Metodologie návrhu úloh IoT je základem pěti pilířů špičkové architektury. Tyto pilíře slouží jako kompas pro následná rozhodnutí o návrhu napříč klíčovými oblastmi návrhu IoT. Následující principy návrhu rozšiřují pilíř kvality architektury Azure Well-Architected – Efektivita výkonu.
Princip návrhu | Požadavky |
---|---|
Návrh pro horizontální škálování | Řešení IoT může začít s několika sty zařízeními nebo zprávami a může se rozrůstat až na miliony zařízení a zpráv za minutu. Cloudové služby můžete snadno škálovat, aby se zvýšilo zatížení, ale pro zařízení a brány IoT to může být složitější. Zařízení IoT je možné navrhnout nebo nasadit před dokončením řešení. Průmyslové IoT nebo podobná odvětví můžou měřit životnost zařízení v desetiletích. Aktualizace kapacity nahrazením zařízení je nákladná. V těchto scénářích je zvlášť důležité plánovat dopředu. |
Shift-left u testování výkonnosti | Testujte co nejdříve a často testujte, abyste včas zachytili problémy. Mějte na paměti, že je složité mít senzory, zařízení a brány v geograficky různých umístěních s různými vlastnostmi, rychlostí a spolehlivostí komunikace. Naplánujte si tuto složitost při testování a nezapomeňte otestovat scénáře selhání, jako je odpojení sítě. Proveďte zátěžové a zátěžové testování všech komponent zařízení, hraničních zařízení a cloudu v řešení IoT. |
Průběžné monitorování výkonu v produkčním prostředí | Pokud chcete monitorovat různé typy zařízení v různých geografických oblastech, použijte distribuované řešení monitorování. Vyrovnává množství monitorovaných a odeslaných informací do cloudu oproti nákladům na paměť a výkon. Vylaďte přenos pro diagnostické scénáře a monitorujte na více úrovních a vrstvách. Zveřejnění metrik brány pro průmyslová řešení nebo řešení s podporou brány |
Vrstvy architektury IoT
Principy návrhu efektivity výkonu pomáhají objasnit důležité aspekty a zajistit, aby vaše úloha IoT splňovala požadavky napříč základními vrstvami architektury IoT. Následující části se týkají specifik vrstev pro pilíř efektivity výkonu.
Vrstva zařízení a brány
Zařízení IoT je výpočetní zařízení, které se připojuje k řešení IoT a může shromažďovat, přenášet nebo přijímat data. Brány jsou spojovací body mezi zařízeními a cloudem nebo mezi IoT a dalšími komponentami.
Optimalizace hardwarových možností
Upgrade nebo výměna hardwaru je nákladná a časově náročná. Velikost zařízení IoT pro požadovanou kapacitu a funkce předem.
Optimalizace pro hardwarové funkce:
Spouštění výpočetních úloh a úloh náročných na vstup a výstup na konkrétním hardwaru Můžete například spouštět algoritmy strojového učení (ML) na místních grafických procesorech (GPU).
Optimalizujte stávající hardwarové funkce pomocí efektivních jazyků a architektur, jako jsou Embedded C a Rust Embedded. Sadu Azure IoT Embedded C SDK můžete použít při vývoji pro omezená zařízení nebo když je na zařízení už k dispozici většina zásobníku zabezpečení a komunikace.
Pro připojení ke cloudové bráně použijte sadu SDK pro zařízení Azure IoT pro jazyk C . Sady SDK (Software Development Kit) zařízení Azure IoT spravují požadované mechanismy překladu zpráv, zpracování chyb a opakování potřebné pro odolné připojení.
Škálování je důležité pro vrstvu zařízení a brány. Škálování této vrstvy:
Používat brány jako jednotky škálování. Pokud vaše řešení postupně přidává zařízení nebo prostředky IoT (například servery OPC UA ), použijte k ingestování dat z těchto serverů více hraničních bran.
Proveďte posouzení škálování pro všechny nadřazené vrstvy, včetně cloudových bran a cloudových služeb. Další informace o použití několika ioT Hubů jako jednotek škálování pro řešení IoT najdete v tématu Jak zřídit zařízení napříč službami IoT Hub.
Spouštění úloh na hraničních zařízeních
V závislosti na systémových omezeních, jako je propustnost nebo latence sítě, zvažte spuštění některých úloh na hraničních zařízeních. Úlohy oddělte časovým omezením a požadovanou latencí a dobou odezvy. Pro scénáře s nízkou latencí a přerušovaným připojením používejte místní výpočetní prostředky. Spouštění rozsáhlých úloh v cloudu
Na hraničních zařízeních použijte fronty priority k odesílání různých datových proudů v požadovaném pořadí. S prioritou se zprávy odesílají v pořadí podle priority, ale Azure IoT Hub zprávy pořád zapisují do deníku podle pořadí příjmu.
Optimalizace připojení zařízení
Při optimalizaci připojení zařízení zvažte následující body:
Použijte IoT Huby, které mají nejnižší latenci k vašim zařízením. IoT Huby můžete potřebovat v několika oblastech, když se zařízení potřebují připojit z různých geografických umístění.
Použijte otevřené stavové připojení pro obousměrnou komunikaci mezi zařízeními a řešením IoT, abyste minimalizovali režii spojenou s nastavením připojení.
Nepřipojujte všechna zařízení najednou, například po výpadku napájení v oblasti. Při opakování použijte zkrácené exponenciální zpochybnění se zavedeným zpožděním.
Optimalizace offline scénářů
Zařízením můžete poskytnout dostatek informací a kontextu pro práci bez připojení ke cloudu a k místnímu ukládání dat, aby se mohla zotavit z odpojení a restartování. Offline operace podporují následující strategie:
Ujistěte se, že zařízení dokáže ukládat data místně, když není připojené, včetně protokolů a telemetrických dat uložených v mezipaměti podle priority.
Nastavte hodnotu TTL (Time to Live) dat, aby se data s vypršenou platností automaticky odebrala.
Pokud zařízení není připojené, zahoďte méně důležitá data, abyste snížili množství potřebného místního úložiště a zkrátili dobu synchronizace, když se zařízení znovu připojí.
Pokud úložiště hraničního zařízení dosáhne kapacity, použijte strategii vyřazení mezipaměti, jako je FIFO (first-in last-out), last-in first-out (LIFO) nebo na základě priority.
Zvažte použití samostatného disku nebo řadiče disku k ukládání dat, aby modul runtime zařízení nebo aplikace mohly dál fungovat, když je nedostatek úložiště.
Dvojčata zařízení a dvojčata modulů můžete použít k asynchronní synchronizaci informací o stavu mezi zařízeními a cloudem, i když zařízení aktuálně nejsou připojená ke cloudové bráně. Dvojčata zařízení a modulů obsahují pouze aktuální stav v určitém okamžiku, nikoli historii ani odebrané informace.
Vrstva příjmu dat a komunikace
Vrstva příjmu dat a komunikace odesílá data ze zařízení do řešení IoT. Mezi vzory komunikace mezi zařízeními a řešením IoT patří:
- Zprávy zařízení-cloud.
- Zprávy z cloudu do zařízení.
- Nahrávání souborů.
- Dvojčata zařízení.
- Přímé metody.
Optimalizace efektivity zasílání zpráv
Počet a velikost zpráv typu zařízení-cloud jsou důležitým parametrem pro efektivitu výkonu řešení IoT. Služby Azure IoT, jako jsou IoT Hub a Azure IoT Central, definují limity zpráv na úroveň, což ovlivňuje výkon řešení i náklady.
Zvažte následující doporučení pro zasílání zpráv:
IoT Hub a IoT Central vypočítají počet zpráv s denní kvótou na základě velikosti zprávy 4 kB. Odesílání menších zpráv ponechá část kapacity nevyužitou. Obecně platí, že velikost zpráv se blíží hranici 4 kB. Menší zprávy typu zařízení-cloud můžete seskupit do větších zpráv, abyste snížili celkový počet zpráv, ale při kombinování zpráv zvažte zavedenou latenci.
Vyhněte se chatovací komunikaci. V případě hraniční komunikace mezi zařízeními nebo moduly a moduly nenavrhujte interakce, které odesílají mnoho malých zpráv.
K odesílání více telemetrických zpráv do cloudu použijte integrované dávkování zpráv sady Azure IoT Edge SDK pro protokol AMQP (Advanced Message Queuing Protocol).
Dávkování na úrovni aplikace můžete použít tak, že zkombinujete několik menších zpráv na podřízené zařízení a odešlete větší zprávy do hraniční brány. Toto dávkování omezuje režii zpráv a snižuje počet zápisů do místního hraničního diskového úložiště.
Pomocí multiplexování připojení AMQP snižte závislost na limitech připojení TCP (Transmission Control Protocol) na klientovi sady SDK. S multiplexováním připojení AMQP může několik zařízení používat jedno připojení TCP k IoT Hub.
Přímé metody použijte pro interakce požadavků a odpovědí, které můžou být úspěšné nebo neúspěšné okamžitě po vypršení časového limitu zadaného uživatelem. Tento přístup je užitečný ve scénářích, kdy se průběh akce liší v závislosti na tom, jestli zařízení odpovědělo.
Pro informace o stavu zařízení, včetně metadat a konfigurací, použijte dvojčata zařízení. IoT Hub udržuje dvojče zařízení pro každé zařízení, ke kterému se připojíte.
Principy kvót zasílání zpráv a omezování
Úroveň IoT Hub nastavuje limity cloudové brány na jednotku. Kvóta zasílání zpráv definuje trvalou propustnost a trvalou rychlost odesílání pro úroveň. IoT Hub dokáže po krátkou dobu zpracovávat zatížení nad těmito kvótami, aby nezvládla nárazy nebo přemísťování zatížení.
Dalším důležitým limitem je hodinové nebo denní zatížení služeb nebo omezení . Limity omezení chrání centrum IoT před příliš velkým zatížením po příliš dlouhou dobu.
Následující diagramy znázorňují vztah mezi limity zatížení, kvót a omezení. Levý diagram znázorňuje, že IoT Hub dokáže zpracovat trvalé nebo konstantní vysoké zatížení až do úrovně kvóty pro IoT Hub vrstvu. Správný diagram znázorňuje, že IoT Hub dokáže zpracovat zatížení, které se v průběhu času mění, pokud nenasáhne limit omezení a v průměru nepřesáhne kvótu pro úroveň IoT Hub.
Optimalizace zpracování zpráv
Před uložením může být potřeba zprávy ze zařízení nebo brány přeložit, zpracovat nebo rozšířit o další informace. Tento krok může být časově náročný, proto je důležité vyhodnotit vliv na výkon. Některá doporučení kolidují, například použití komprese pro optimalizaci přenosu dat a zabránění cloudovému zpracování při dešifrování zpráv. Tato doporučení je potřeba vyvážit a vyhodnotit s ostatními pilíři architektury a požadavky na řešení.
Optimalizace výkonu zpracování dat v cloudu:
Optimalizujte formát dat používaný k odesílání dat do cloudu. Porovnejte výkon (a náklady) šířky pásma a zlepšení výkonu s menším objemem potřebného zpracování cloudových dat. Zvažte použití rozšíření IoT Hub zpráv k přidání kontextu do zpráv zařízení.
Zpracování časově důležitých událostí u přijatých dat při jejich příchodu místo ukládání nezpracovaných dat a vyžadování složitých dotazů k získání dat V případě zpracování událostí s kritickým časem zvažte dopady pozdního příjezdu a časového intervalu. Vyhodnocujte v závislosti na případu použití, například kritické zpracování alarmu nebo rozšiřování zpráv.
Na základě požadavků na řešení vyberte správnou IoT Hub úroveň Basic nebo Standard. Mějte na paměti funkce, které úroveň Basic nepodporuje.
Vyberte správnou IoT Hub velikost vrstvy, 1, 2 nebo 3 a počet instancí na základě propustnosti dat, kvót a omezení provozu. Pro IoT Central vyberte správnou úroveň: Standard 0, Standard 1 nebo Standard 2 podle počtu zpráv odeslaných ze zařízení do cloudu.
Zvažte použití Azure Event Grid pro směrování událostí publikování a odběru. Další informace najdete v tématech React k IoT Hub událostí pomocí služby Event Grid k aktivaci akcí a Porovnání směrování zpráv a Event Gridu pro IoT Hub.
Stanovení priority dat
Některá data, která zařízení odesílají do cloudu, můžou být důležitější než jiná data. Z hlediska efektivity výkonu je vhodné klasifikovat a zpracovávat data na základě priority.
Senzor termostatu například odesílá teplotu, vlhkost a další telemetrii, ale také alarm, když je teplota mimo definovaný rozsah. Systém klasifikuje zprávu alarmu jako vyšší prioritu a zpracovává ji jinak než telemetrická data o teplotě.
Zvažte následující doporučení pro klasifikaci a zpracování dat:
Pomocí front s prioritou IoT Edge zajistíte, aby při odesílání do IoT Hub byla upřednostněna důležitá data. IoT Edge zprávy do vyrovnávací paměti v případě, že není k dispozici připojení, ale po obnovení připojení odešle všechny zprávy ve vyrovnávací paměti v pořadí podle priority, následované novými zprávami.
Použijte IoT Hub směrování zpráv k oddělení tras pro různé priority dat v závislosti na případu použití. IoT Hub směrování zpráv zvyšuje určitou latenci.
Ukládejte a odesílejte data s nízkou prioritou v delších intervalech nebo pomocí dávkového nahrávání nebo nahrávání souborů. Detekce malwaru u nahraných souborů zvyšuje latenci.
Zprávy oddělte na základě časových omezení. Například odesílat zprávy IoT Hub přímo, když je nějaké časové omezení, a využít nahrávání souborů prostřednictvím IoT Hub nebo dávkového přenosu dat, jako je Azure Data Factory, pokud neexistuje žádné časové omezení. K nahrání souboru můžete použít modul IoT Edge objektů blob.
Vrstva správy a modelování zařízení
K řešení IoT se můžou připojit různé typy zařízení a řešení IoT se může připojit k mnoha zařízením a branám najednou. Kromě připojení a konfigurace zařízení a bran musí řešení IoT rozumět datům, která zařízení a brány zachytávají a ingestují, a musí tato data přenášet a kontextovat.
Komponenty IoT můžou používat různé protokoly, připojení, frekvence příjmu dat a způsoby komunikace. Řešení IoT musí být schopné spravovat, která zařízení a brány jsou připojená a jak jsou nakonfigurované.
Správa zařízení a konfigurací pro zajištění efektivity výkonu:
Optimalizujte velikost na základě zatížení zařízení a zpráv.
V závislosti na úrovni a počtu jednotek znáte počet zpráv, které cloudová brána dokáže zpracovat.
Zohledňování anomálií v trvalé propustnosti způsobené distribucí dat, sezónností a shlukováním
Pokud řešení IoT musí spravovat miliony zařízení, použijte několik cloudových bran. Pomocí DPS přiřaďte zařízení ke službě IoT Hubs.
Zřizování zařízení pomocí DPS
Pomocí DPS můžete nastavit připojení ke službě IoT Hub během zřizování, když už IoT Hub připojení není k dispozici, nebo během restartování zařízení.
Pomocí zásady rovnoměrně vážené distribuce DPS upravte váhu zřizování na základě případu použití. Další informace najdete v tématu Jak zásady přidělování přiřazují zařízení ke službě IoT Hubs.
Zvažte zřízení zařízení pro řešení IoT v průběhu časového období, distribuovaného nebo v menších dávkách, aby se vyrovnálo zatížení a kvóta služby DPS. Při onboardingu v dávkách naplánujte dávky a celkovou časovou osu migrace. Přihlédnou k limitům DPS v počtu operací, registrací zařízení a maximálním počtu připojení za minutu, včetně latence a opakování.
Pomocí DPS můžete přidělovat zařízení službě IoT Hubs v různých oblastech na základě latence.
Použití strategie ukládání do mezipaměti pro připojovací řetězec DPS k omezení operací opětovného připojení DPS.
Správa podřízených zařízení
Řešení IoT je horizontálně škálovatelné, pokud má více bran nebo hraničních zařízení na lokalitu nebo umístění a podřízená zařízení, která se můžou připojit k některé z těchto bran nebo hraničních zařízení.
V režimu překladu používejte více bran a hraničních zařízení, když se počet podřízených zařízení, jejich zpráv a velikostí zpráv v průběhu času mění a jejich protokol nebo zpráva se musí přeložit. Brány a hraniční zařízení v režimu překladu můžou překládat protokoly nebo zprávy do podřízených zařízení a z podřízených zařízení, ale k vyhledání brány, ke které je připojené podřízené zařízení, je potřeba mapování. Účet pro přidání překladu zpráv a ukládání do vyrovnávací paměti na bráně nebo hraničním zařízení při použití režimu překladu.
Pomocí více bran a hraničních zařízení v transparentním režimu připojte podřízené přenosy telemetrie fronty zpráv (MQTT) nebo zařízení AMQP, pokud se jejich počet může v průběhu času měnit na lokalitu nebo umístění. Brány a hraniční zařízení v transparentním režimu můžou připojit zařízení MQTT/AMQP pro obousměrnou komunikaci. Pokud používáte transparentní režim, účet pro ukládání zpráv do vyrovnávací paměti, ukládání a konfiguraci na bráně nebo hraničním zařízení.
Transportní vrstva
Transportní vrstva zpracovává připojení mezi zařízením a řešením IoT, transformuje zprávy IoT na síťové balíčky a odesílá je přes fyzickou síť. Řešení IoT běžně používají protokoly připojení AMQP a MQTT.
Optimalizace využití prostředků
Aby bylo možné zpracovat cílový počet zařízení a zpráv, musí být připojení mezi zařízením a cloudem zabezpečené, spolehlivé a škálovatelné.
Použijte otevřené stavové připojení ze zařízení ke cloudové bráně. IoT Hub je optimalizovaná pro správu milionů otevřených stavových připojení pomocí protokolů MQTT, AMQP nebo WebSocket. Udržujte otevřená připojení k zařízením, abyste minimalizovali režii spojenou s handshakes, ověřováním a autorizací zabezpečení. Tento postup zlepšuje výkon a výrazně snižuje požadovanou šířku pásma.
Pokud chcete minimalizovat počet otevřených připojení, která cloudová brána vyžaduje, použijte protokol AMQP, který podporuje multiplexování více kanálů na jednom připojení. Pomocí multiplexování může transparentní brána připojit několik zařízení typu list pomocí vlastních kanálů přes jedno připojení.
Pomocí vzorů cloudové brány dvojčat zařízení a modulů můžete asynchronně vyměňovat informace o stavu mezi zařízeními a cloudem.
Nakonfigurujte DPS tak, aby se při připojení zařízení k jiné cloudové bráně přesunul stav zařízení.
Optimalizace datové komunikace
Počet a velikost zpráv zařízení do cloudu ovlivňuje výkon a náklady. Vyhodnocení datové komunikace je klíčem k efektivitě výkonu úloh IoT.
Používejte efektivní formát a kódování dat, které k odesílání dat do cloudu nevyužívá velkou šířku pásma. V případě sítí s nízkou šířkou pásma zvažte použití komprimovaného nebo binárního formátu, ale pochopte režii spojenou s dekomprimací nebo převodem dat v cloudu.
Zvažte místní ukládání velkoobsáhových dat a jejich nahrání každou hodinu nebo denně.
Pokud chcete snížit celkový počet, seskupte mnoho malých zpráv typu zařízení-cloud do menšího počtu větších zpráv. Neposílejte ale jenom velké zprávy, ale vyrovnejte průměrnou velikost a propustnost zpráv.
Vrstva úložiště
Různé typy dat shromažďovaných a odkazovaných v řešení IoT často vyžadují typy úložišť, které jsou specializované a optimalizované pro různé scénáře na zařízeních, branách a cloudu. Data, která musí být dostupná v několika geografických oblastech globálně nebo místně a v některých případech replikovaná kvůli optimalizaci latence, zvyšují složitost úložiště IoT.
K ukládání dat časových řad, která mají časová razítka a hodnoty, použijte databázi časových řad. Rozšiřte telemetrii dat časových řad o sloupce pro filtrování, například CustomerID, RoomID nebo jiné sloupce specifické pro případ použití.
Úložiště zařízení a brány můžete použít k ukládání dat do mezipaměti nebo k uchovávání dat při odpojení. Účet pro požadovaný prostor úložiště. Neuchovávejte všechna data, ale používejte downsampling, ukládejte pouze agregace nebo ukládejte data po omezenou dobu.
Zvažte oddělení úložiště pro příjem dat a zpracování událostí od potřeb úložiště pro vytváření sestav a integraci.
Použijte typ úložiště dat, který odpovídá potřebě požadované propustnosti, velikosti, doby uchovávání, objemu dat, požadavků CRUD a místní replikace. Mezi příklady patří Azure Data Lake Storage, Azure Data Explorer, Azure SQL a Azure Cosmos DB.
Vrstva zpracování a analýzy událostí
Data, která zařízení vygenerují, můžete zpracovávat před jejich odesláním do řešení IoT nebo v jeho rámci. Zpracování dat může zahrnovat překlad, kontextování, filtrování a směrování nebo pokročilejší analýzy, jako je analýza trendů nebo detekce anomálií.
Optimalizace hraničního a cloudového zpracování
Spouštět úlohy v reálném čase a téměř v reálném čase nebo malé, optimalizované a nízké latence zpracování s časovými omezeními, na zařízeních nebo na hraničních zařízeních pomocí místních výpočetních prostředků. Spouštění větších úloh nebo jiných úloh, které mají přidaná nebo externí data nebo závislosti výpočetních prostředků, v cloudu.
Například spusťte na hraničních zařízeních algoritmus strojového učení, který počítá lidi ve streamu videa, a odešlete událost obsahující tento počet do cloudu. Pomocí cloudu můžete porovnat trendy mezi různými továrnami.
Spouštění analytických úloh na hraničních zařízeních pomocí modulu Stream Analytics Edge Můžete například spustit detekci anomálií na hraničních zařízeních a události odeslané do cloudu označovat zjištěnou anomálií. Při spouštění analýz na hraničních zařízeních je potřeba počítat s latencí, pozdním příchodem a dopadem na okna.
Mějte na paměti režijní náklady na úlohy edge s mnoha připojenými podřízenými zařízeními. Hraniční uzel musí předávat nebo zpracovávat všechny zprávy a zpracovávat ukládání všech dat do mezipaměti, pokud dochází k přerušovanému připojení ke cloudu. Ověřte dopad na výkon vašeho řešení testováním s plánovaným maximálním počtem podřízených zařízení a zpráv na hraniční uzel. Mějte na paměti, jaký dopad může mít překlad nebo rozšiřování zpráv na hraniční, IoT Hub nebo cloudové zpracování událostí.
Kategorizace jednotlivých úloh
Oddělte úlohy časovým omezením a požadovanou latencí a dobou odezvy, například během několika sekund a podle dávky za hodinu. Hybridní hardwarové systémy na čipu (SoC) můžou podporovat úlohy na úrovni zařízení.
Na hraničních zařízeních použijte fronty priorit k oddělení různých datových proudů s různými prioritami a hodnotou TTL. Například budíky by se měly vždy odesílat jako první, ale mají nižší hodnotu TTL než telemetrie.
V cloudu můžete pomocí skupin uživatelů na Azure Event Hubs oddělit různé datové proudy a zpracovávat a škálovat alarmy odlišně od telemetrie. Můžete také použít IoT Hub trasy k oddělení různých datových proudů s filtrováním a samostatnými koncovými body. IoT Hub směrování zpráv zvyšuje určitou latenci. Pomocí služby Event Hubs, Azure Event Grid nebo Azure Service Bus můžete distribuovat úlohy a současně chránit před zpětným tlakem v cloudu.
Příliš složitá pravidla IoT Hub směrování můžou mít vliv na propustnost, zejména pravidla směrování s filtry JSON textu zprávy, kde je potřeba deserializovat a kontrolovat každou zprávu.
Zpracování velkoobjemových cloudových dat
Optimalizace efektivity výkonu pro velkoobsádová cloudová data:
Využijte připravenou integraci služeb mezi IoT Hub a cíli dat, jako jsou Azure Data Lake Storage a Azure Data Explorer, které jsou již optimalizované pro vysokou propustnost výkonu.
Pomocí sady Event Hubs SDK můžete vyvíjet vlastní příjem dat ze služby IoT Hub pomocí zahrnutého procesoru událostí. Procesor událostí může znovu vyvážit zařízení a hostitele.
Použijte správný počet IoT Hub oddílů a skupin příjemců pro počet současných čteček dat a požadovanou propustnost.
Oddělte úložiště potřebné pro příjem dat a zpracování událostí od úložiště potřebného pro vytváření sestav a integraci.
Použijte úložiště dat, které vyhovuje potřebám na základě požadované propustnosti, velikosti, doby uchovávání, objemu dat, požadavků CRUD a místní replikace. Příklady jsou Azure Data Lake Storage, Azure Data Explorer, Azure SQL nebo Azure Cosmos DB. Další informace najdete v tématu Výběr úložiště dat Azure pro vaši aplikaci.
Vrstva integrace
Vrstva integrace propojuje řešení IoT s dalšími službami a obchodními aplikacemi.
Oddělte kanál pro příjem dat řešení IoT od zpracování integrace. Ujistěte se, že složité dotazy nebo načítání z vrstvy integrace nemají vliv na výkon příjmu dat.
Pro přístup k datům a příkazům IoT používejte dobře definovaná rozhraní API s verzemi.
Vyhněte se nástrojům pro koncové uživatele k vytváření uživatelsky definovaných dotazů na úložiště dat IoT. Zvažte použití samostatných úložišť dat pro integraci a vytváření sestav.
Vrstva DevOps
K maximalizaci efektivity výkonu použijte následující mechanismy DevOps:
Připojený registr pro místní ukládání do mezipaměti a nasazení imagí kontejnerů.
IoT Hub aktualizovat nasazení do více zařízení najednou, včetně zařízení a bran.
Dvojčata zařízení a dvojčata modulů pro aktualizaci konfigurací zařízení škálovatelným a efektivním způsobem.
Testování výkonu, včetně zátěžových a zátěžových testů pro replikaci produkčního prostředí, jako jsou umístění a heterogenní zařízení.
Monitorování
Pomocí Služby Azure Monitor můžete shromažďovat metriky IoT Hub s upozorněními na kritické metriky. Nastavte upozornění služby Azure Monitor na základě aktuálních limitů škálování, jako jsou zprávy odesílané ze zařízení do cloudu za sekundu. Nastavte upozornění na procento limitu, například 75 %, pro předběžné oznámení o nadcházejících limitech škálovatelnosti. Nastavte také upozornění služby Azure Monitor pro protokoly a metriky, jako je počet chyb omezování.
Nastavte upozornění služby Azure Service Health tak, aby aktivovala oznámení při změně stavu IoT Hub.