Publikování a přihlášení k odběru zpráv MQTT pomocí Azure IoT MQ Preview

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

Azure IoT MQ Preview nabízí službu MQTT Broker vyhovující standardům na podnikové úrovni, která je škálovatelná, vysoce dostupná a nativní pro Kubernetes. Poskytuje rovinu zasílání zpráv pro Azure IoT Operations Preview, umožňuje obousměrnou komunikaci hraničních a cloudových aplikací a zajišťuje aplikace řízené událostmi na hraničních zařízeních.

Kompatibilní s MQTT

IoT MQ obsahuje standardově kompatibilní zprostředkovatele MQTT, který podporuje MQTT v3.1.1 i MQTT v5.

Přenos telemetrie front zpráv (MQTT) se objevil jako lingua franca mezi protokoly v prostoru IoT. Jednoduchý návrh MQTT umožňuje jednomu zprostředkovateli obsluhovat desítky tisíc klientů současně s jednoduchým vytvářením a správou témat publikování a odběru. Mnoho zařízení IoT nativně podporuje MQTT, přičemž dlouhá chvost protokolů IoT je racionalizována do MQTT podřízenými branami překladu.

IoT MQ používá protokol MQTT jako základ vrstvy zasílání zpráv. Další informace o podporovaných funkcích MQTT najdete v tématu Podpora funkcí MQTT v Azure IoT MQ Preview.

Vysoká škálovatelnost a dostupnost

Kubernetes může horizontálně škálovat úlohy tak, aby běžely v několika instancích. Tato redundance znamená další kapacitu pro obsluhu požadavků a spolehlivosti v případě výpadku jakékoli instance. Kubernetes má integrované samoopravení a instance se obnoví automaticky.

Kromě Kubernetes jako technologie elastického škálování je to také standard pro DevOps. Pokud je MQTT lingua franca mezi protokoly IoT, Kubernetes je lingua franca pro výpočetní vrstvu infrastruktury. Přijetím Kubernetes můžete používat stejný kanál CI/CD, nástroje, monitorování, balení aplikací, dovednosti zaměstnanců všude. Výsledkem je jeden ucelený systém od cloud computingu, místních serverů a menších bran IoT v objektu pro vytváření. S infrastrukturou nebo DevOps můžete strávit méně času a zaměřit se na svou firmu.

Azure IoT MQ se zaměřuje na jedinečnou hodnotu roviny dat nativní pro hraniční zařízení, kterou může poskytnout ekosystému Kubernetes, a přitom se do něj bezproblémově zapadá. Přináší vysokou výkonnou a škálovatelnou rovinu platformy zasílání zpráv postavenou na MQTT a bezproblémovou integraci do dalších škálovatelných úloh Kubernetes a Azure.

Zabezpečení ve výchozím nastavení

IoT MQ vychází z konceptů zabezpečení a identit nativních pro Azure a Kubernetes, díky kterým je vysoce zabezpečený i použitelný. Podporuje více mechanismů ověřování pro flexibilitu spolu s podrobnými mechanismy řízení přístupu až po jednotlivé úrovně tématu MQTT.

Integrace služby 0Azure Arc

Hybridní platforma Microsoftu je ukotvená kolem Kubernetes s Azure Arc jako jedinou řídicí rovinou. Poskytuje rovinu správy, která do Azure Resource Manageru projektuje existující prostředky mimo Azure, místní nebo jiné cloudové prostředky. Výsledkem je jediné řídicí podokno pro správu virtuálních počítačů, clusterů Kubernetes a databází, které nejsou spuštěné v datových centrech Azure.

IoT MQ je nasazený jako rozšíření Azure Arc pro Kubernetes a dá se spravovat prostřednictvím plnohodnotného poskytovatele prostředků Azure – Microsoft/IoTOperationsMQ. To znamená, že ji můžete spravovat stejně jako nativní cloudové prostředky Azure, jako jsou virtuální počítače, úložiště atd.

Technologie Azure Arc umožňuje, aby se změny projevily na službách IoT MQ běžících v místním clusteru Kubernetes. Pokud dáváte přednost plně nativnímu přístupu Kubernetes, můžete ioT MQ spravovat pomocí vlastních definic prostředků Kubernetes (CRD) místně nebo pomocí technologií GitOps, jako je Flux.

Cloudové konektory

Pro váš scénář cloudu můžete mít různé požadavky na zasílání zpráv. Například obousměrná cloudová nebo hraniční rychlá cesta pro data s vysokou prioritou nebo výkon v blízkosti cloudových řídicích panelů v reálném čase a pomalá cesta s nižšími náklady pro méně časová kritická data, která je možné aktualizovat v dávkách.

Pro zajištění flexibility poskytuje Azure IoT MQ integrované Připojení ory Azure do služby Event Hubs (s koncovým bodem Kafka), funkce zprostředkovatele MQTT služby Event Grid, Microsoft Fabric a Blob Storage. IoT MQ je rozšiřitelný, takže si můžete vybrat preferované cloudové řešení zasílání zpráv, které funguje s vaším řešením.

Sestavením služby Azure Arc můžete konektory nakonfigurovat tak, aby používaly spravovanou identitu Azure pro přístup ke cloudovým službám pomocí výkonného řízení přístupu na základě role v Azure (RBAC). Nevyžaduje se žádná ruční, nezabezpečená a těžkopádná správa přihlašovacích údajů.

Programovací model Dapr

Dapr zjednodušuje instalaci mezi distribuovanými aplikacemi tím, že zveřejňuje běžné funkce distribuované aplikace, jako je správa stavu, volání mezi službami a zasílání zpráv o publikování a odběru. Komponenty Dapr leží pod stavebními bloky a poskytují konkrétní implementaci pro každou funkci. Můžete se zaměřit na obchodní logiku a nechat Dapr zpracovávat podrobnosti distribuované aplikace.

IoT MQ poskytuje pluggable Dapr publish-subscribe a state store stavební bloky, které vytvářejí vývoj a nasazení aplikací řízených událostmi na hraničních zařízeních a jsou nezávislé na technologiích.

Architektura

Zprostředkovatel MQTT má tři vrstvy:

  • Bezstavová front-endová vrstva, která zpracovává požadavky klientů
  • Nástroj pro vyrovnávání zatížení, který směruje požadavky a připojuje zprostředkovatele k ostatním
  • Stavová a horizontálně dělená back-endová vrstva, která ukládá a zpracovává data

Back-endová vrstva rozděluje data podle různých klíčů, jako je ID klienta pro relace klienta a název tématu pro zprávy tématu. Používá řetězovou replikaci k replikaci dat v rámci každého oddílu. Pro data sdílená všemi oddíly používá jeden řetěz, který zahrnuje všechny oddíly.

Cílem architektury je:

  • Odolnost proti chybám a izolace: Publikování zpráv pokračuje, pokud back-endové uzly selžou a brání selháním v šíření do zbytku systému.
  • Obnovení po selhání: Automatické obnovení selhání bez zásahu operátora
  • Žádná ztráta zpráv: Doručení zpráv, pokud je spuštěn alespoň jeden front-endový uzel a jeden back-endový uzel
  • Elastické škálování: Horizontální škálování publikování a přihlášení k odběru propustnosti pro podporu hraničních a cloudových nasazení
  • Konzistentní výkon ve velkém měřítku: Omezení režie latence zpráv kvůli replikaci řetězu
  • Jednoduchost provozu: Minimální závislost na externích komponentách pro zjednodušení údržby a složitosti

Další kroky

Nasazení rozšíření Azure IoT Operations Preview do clusteru Kubernetes