Sdílet prostřednictvím


Publikování a přihlášení k odběru zpráv MQTT pomocí zprostředkovatele MQTT

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.

Až bude dostupná obecně dostupná verze, budete muset nasadit novou instalaci operací Azure IoT. Nebudete moct upgradovat instalaci verze Preview.

Právní podmínky, které se vztahují na funkce Azure, které jsou ve verzi beta, ve verzi Preview nebo které ještě nejsou vydány v obecné dostupnosti, najdete v dodatečných podmínkách použití pro verze Microsoft Azure Preview.

Operace IoT nabízí zprostředkovatel MQTT 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

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.

Zprostředkovatel MQTT podporuje vrstvu zasílání zpráv v operacích IoT a podporuje MQTT v3.1.1 i MQTT v5. Další informace o podporovaných funkcích MQTT najdete v tématu Podpora funkcí MQTT ve zprostředkovateli MQTT.

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.

Zprostředkovatel MQTT 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 a bezproblémovou integraci do dalších škálovatelných úloh Kubernetes a Azure.

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

Zprostředkovatel MQTT 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.

Tip

K výchozímu nasazení zprostředkovatele MQTT můžete přistupovat pouze pomocí IP adresy clusteru, protokolu TLS a tokenu účtu služby. Klienti, kteří se připojují mimo cluster, potřebují před připojením další konfiguraci.

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.

Zprostředkovatel MQTT 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 zprostředkovatelské služby MQTT spuštěné v místním clusteru Kubernetes. Pokud dáváte přednost plně nativnímu přístupu Kubernetes, můžete spravovat zprostředkovatele MQTT 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 zprostředkovatel MQTT integrované konektory Azure pro službu Event Hubs (s koncovým bodem Kafka), funkce zprostředkovatele MQTT služby Event Grid, Microsoft Fabric a Blob Storage. Zprostředkovatel MQTT je rozšiřitelný, takže můžete zvolit 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.

Zprostředkovatel MQTT 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í Azure IoT Operations Preview do clusteru Kubernetes s podporou arc